An array A consisting of N integers is given. The dominator of array A is the value that occurs in more than half of the elements of A.
Input:
A[0] = 3
A[1] = 4
A[2] = 3
A[3] = 2
A[4] = 3
A[5] = -1
A[6] = 3
A[7] = 3
Output:
0, 2, 4, 6 or 7
- N is an integer within the range [0..100,000];
- Each element of array A is an integer within the range [−2,147,483,648..2,147,483,647].
Write an efficient algorithm that returns the index of any element of array A in which the dominator of A occurs. The function should return -1 if array A does not have a dominator.
Call the function with your array to find the index of the dominator.