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.
solution:
to keep to variable, one for appear times, another for element value.
public int majorityElement(int[] nums) {
int most = nums[0];
int counter = 1;
for(int i=1;i<nums.length;i++){
if(most == nums[i]){
counter++;
}else{
if(counter == 0){
most = nums[i];
counter++;
}else{
counter--;
}
}
}
return most;
}