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.
里面居然涉及到比特位操作,不明白此题本意到底是要寻求怎样一个解法
int majorityElement(vector<int> &num) {
//这个题目也在PAT题里面看到过,求占有量超过一半的数字
int count = 1;
int value = num[0];
int len = num.size();
for (int i = 1; i < len; ++i)
{
if (num[i] == value)
++count;
else
--count;
if (count < 0)
{
value = num[i];
count = 1;
}
}
return value;
}