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.
class Solution {
public:
int majorityElement(vector<int>& nums) {
int r = nums[0]; // assume that the array is non-empty
int s = 1, n = 0;
for(int i=1;i<nums.size();i++){
if(nums[i] == r) s++;
else n++;
if(n>s){
r = nums[i];
s=1;
n=0;
}
}
return r;
}
};