Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋
times.
You may assume that the array is non-empty and the majority element always exist in the array.
Credits:
Special thanks to @ts for adding this problem and creating all test cases.
public class Solution{ public int majorityElement(int[] a) { int test = a[0]; int count = 1; for (int i = 1; i < a.length; i++) { if (test == a[i]) count++; else count--; if (count == 0) { test = a[i]; // current element takes max_inex position. count = 1; } } return test; } }