' A majority element = element that appears more than size/2 times in an array[size]
Imports System
Public Class Program
Public Shared Function getMajorityElement(ByVal arr As Integer()) As Integer
Dim num As Integer() = New Integer(9) {}
Dim len As Integer = arr.Length
For i As Integer = 0 To len - 1
num(arr(i)) += 1
Next
For i As Integer = 0 To 9 - 1
If num(i) <> 0 Then
Console.WriteLine("{0:D} : {1:D}", i, num(i))
If num(i) > len / 2 Then
Return i
End If
End If
Next
Return 0
End Function
Public Shared Sub Main()
Dim arr As Integer() = New Integer() {2, 5, 3, 5, 5, 1, 5, 5, 5, 7, 3}
Dim majority As Integer = getMajorityElement(arr)
If majority <> 0 Then
Console.WriteLine("majority element = {0:D}", majority)
Else
Console.WriteLine("Majority element doesn't exists")
End If
End Sub
End Class
' run:
'
' 1 : 1
' 2 : 1
' 3 : 2
' 5 : 6
' majority element = 5
'