w3resource

Scala Programming: Find the second smallest element in an array

Scala Programming Array Exercise-20 with Solution

Write a Scala program to find the second smallest element from a given array of integers.

Sample Solution:

Scala Code:

object Scala_Array {   
 def main(args: Array[String]): Unit = {     
       var my_array = Array(10789, 2035, 1899, 1456, 2013,1458, 2458,
                            1254, 1472, 2365,1456, 2165, 1457, 2456);
       println("Orginal array:")
       for ( x <- my_array) {
         print(s"${x}, ")        
        }      
      var min = Int.MaxValue 
      var second_min = Int.MaxValue
      for (i <- 0 to my_array.length-1)
       {
        if(my_array(i)==min){
          second_min=min;
        } else if (my_array(i) < min) {
            second_min = min;
            min = my_array(i);
        } else if (my_array(i) < second_min) {
            second_min = my_array(i);
        }
    }    
     println("\nSecond lowest value of the said array: " + second_min);      
   }
 }

Sample Output:

Orginal array:
10789, 2035, 1899, 1456, 2013, 1458, 2458, 1254, 1472, 2365, 1456, 2165, 1457, 2456, 
Second lowest value of the said array: 1456

Scala Code Editor :

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Scala program to find the second largest element from a given array of integers.

Next: Write a Scala program to test the equality of two arrays.

What is the difficulty level of this exercise?