// A majority element = element that appears more than size/2 times in an array[size]
public class MyClass {
public static int getMajorityElement(int[] arr) {
int[] num = new int[10];
int len = arr.length;
for (int i = 0; i < len; i++) {
num[arr[i]]++;
}
for (int i = 0; i < 9; i++) {
if (num[i] != 0) {
System.out.printf("%d : %d\n", i, num[i]);
if (num[i] > len/2) {
return i;
}
}
}
return 0;
}
public static void main(String args[]) {
int[] arr = new int[] {2, 5, 3, 5, 5, 1, 5, 5, 5, 7, 3};
int majority = getMajorityElement(arr);
if (majority != 0)
System.out.printf("majority element = %d\n", majority);
else
System.out.println("Majority element doesn't exists\n");
}
}
/*
run:
1 : 1
2 : 1
3 : 2
5 : 6
majority element = 5
*/