How to find the second smallest elements in an array in VB.NET

1 Answer

0 votes
Imports System
				
Public Module Module1
	Public Function getTheSecondSmallest(arr As Integer()) As Integer
		Dim first As Integer, second As Integer, size As Integer
		
		size = arr.Length 
       
        first = Integer.MaxValue
		second = Integer.MaxValue
		for i AS Integer = 0 to size - 1 
			If arr(i) < first Then
                second = first
                first = arr(i) 
			ElseIf arr(i) < second AND arr(i) <> first
                	 second = arr(i) 
			End If
	    Next
        If second = Integer.MaxValue 
            return -1
        End If
        return second 
	End Function

	Public Sub Main()
		Dim arr1() As Integer = {34, 3, 8, 2, 9, 4, 6}
		Console.WriteLine(getTheSecondSmallest(arr1))
	
		Dim arr2() As Integer = {1, 1, 2, 1, 1}
		Console.WriteLine(getTheSecondSmallest(arr2))
	
	    Dim arr3() As Integer = {5, 5, 5, 5, 5, 5, 5}
		Console.WriteLine(getTheSecondSmallest(arr3))
	End Sub
End Module

 

' run:
' 
' 3
' 2
' -1
 

 



answered May 31, 2020 by avibootz

Related questions

1 answer 126 views
2 answers 210 views
1 answer 152 views
1 answer 135 views
1 answer 161 views
1 answer 232 views
...