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.
Subscribe to see which companies asked this question
class Solution {
public:
int majorityElement(vector<int> &nums) {
int temp = 0, cnt = 0;
for(int i = 0; i < nums.size(); i++) {
if(i == 0) {
temp = nums[i];
cnt += 1;
} else {
if(nums[i]!=temp) {
cnt-=1;
if(cnt==0) {
cnt = 1;
temp = nums[i];
}
}else {
cnt += 1;
}
}
}
return temp;
}
}