How to find the majority element in int array with VB.NET

1 Answer

0 votes
' 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
'

 



answered Apr 21, 2023 by avibootz
edited Apr 21, 2023 by avibootz

Related questions

1 answer 112 views
1 answer 116 views
1 answer 123 views
1 answer 104 views
1 answer 117 views
1 answer 91 views
1 answer 154 views
...