Majority Element Java
- Get link
- X
- Other Apps
PROGRAM TO PRINT THE MAJORITY ELEMENT USING MOORE'S VOTING ALGORITHM
class MajorityElement { /* Function to print Majority Element */ void printMajority(int a[], int size) { /* Find the candidate for Majority*/ int cand = findCandidate(a, size); /* Print the candidate if it is Majority*/ if (isMajority(a, size, cand)) System.out.println(" " + cand + " "); else System.out.println("No Majority Element"); } /* Function to find the candidate for Majority */ int findCandidate(int a[], int size) { int maj_index = 0, count = 1; int i; for (i = 1; i < size; i++) { if (a[maj_index] == a[i]) count++; else count--; if (count == 0) { maj_index = i; count = 1; } } return a[maj_index]; } /* Function to check if the candidate occurs more than n/2 times */ boolean isMajority(int a[], int size, int cand) { int i, count = 0; for (i = 0; i < size; i++) { if (a[i] == cand) count++; } if (count > size / 2) return true; else return false; } /* Driver program to test the above functions */ public static void main(String[] args) { MajorityElement majorelement = new MajorityElement(); int a[] = new int[]{1, 3, 3, 1, 2}; int size = a.length; majorelement.printMajority(a, size); } }
OUTPUT
No Majority Element
- Get link
- X
- Other Apps
Comments
Post a Comment