# Find two smallest elements in a given array

Objective: Given an array of integers, write an algorithm to find the two smallest elements in the array.

Example:

```Int [] a = {
6, 8, 1, 9, 2, 10};
Output: 1, 2
Int [] a = {
6, 8, 1, 9, 2, 1, 10, 10};
Output: 1, 1
Int [] a ={6};
Output: Invalid Input, array size is less than 2
```

Approach:

1. Take two variables; let’s call them first and second and mark them as +∞.
2. Iterate through the array and for each element (let’s call it current),
• Compare it with the first and if first is greater, assign the first value to second and assign current to first.
• If above step is not true then current element might be a candidate of second smallest element, so check if current<second, if yes then assign it to second.

See the code below for more understanding.

Code:

Output:

`Smallest and 2nd smallest elements are: 1 2`

__________________________________________________
Top Companies Interview Questions..-

If you find anything incorrect or you feel that there is any better approach to solve the above problem, please write comment.
__________________________________________________