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