How to find the second largest element in an array with VB.NET

1 Answer

0 votes
Imports System

Public Class Program
    Public Shared Function getTheSecondlargest(ByVal arr As Integer()) As Integer
        Dim max As Integer = Int32.MinValue, secondmax As Integer = Int32.MinValue

        For i As Integer = 0 To arr.Length - 1
            If arr(i) > max Then
                secondmax = max
                max = arr(i)
            ElseIf arr(i) < max AndAlso arr(i) > secondmax Then
                secondmax = arr(i)
            End If
        Next

        Return secondmax
    End Function

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



' run:
'
' 9
' 1
' -2147483648
'

 



answered Dec 13, 2021 by avibootz

Related questions

...