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[] num) { // assuming the num is not null and empty. int most = num[0]; int counter = 1; for(int i=1; i<num.length; i++) { if(num[i] == most) { ++counter; } else { if(counter==0) { most = num[i]; ++counter; } else { --counter; } } } return most; } }