Majority Element
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.
Solution
public class Solution {
public int majorityElement(int[] nums) {
int majority = nums[0];
int count = 1;
for (int i = 1; i < nums.length; i++) {
if (count == 0) {
majority = nums[i];
count = 1;
} else {
count = majority == nums[i] ? count + 1 : count - 1;
}
}
return majority;
}
}