Majority Element

Given an array of size n, find the majority element. The majority element is the element that appears more than floor(n/2) times.

You may assume that the array is non-empty and the majority element always exist in the array.

Example :

Input : [2, 1, 2]
Return  : 2 which occurs 2 times which is greater than 3/2. 
public class Solution {
    public int majorityElement(int[] A) {
        int maj_index = 0, count = 1;
        int i;
        for (i = 1; i < A.length; i++) {
            if (A[maj_index] == A[i])
                count++;
            else
                count--;
            if (count == 0) {
                maj_index = i;
                count = 1;
            }
        }
        return A[maj_index];
    }
}

Last updated