class Solution {
public:
int MoreThanHalfNum_Solution(vector<int> numbers) {
int len = numbers.size();
int i = 0,j = 0;
int count = 0;
for(i = 0;i < len;i++)
{
count = 0;
for(j = 0;j < len;j++)
{
if(numbers[i] == numbers[j])
count++;
}
if(count > (len / 2))
{
return numbers[i];
}
}
return 0;
}
};
思路:这一题我本来考虑到重复了怎么办,后来想到这个问题是不存在的,一个数超过数组一半的长度,剩下的就算还是同一个数,那也不会超过yi一半。这样考虑好之后,就可以解决了。
还有一个点在于循环里面一定要将count清0,不然count会一直加加,结果会出现bug,如果对了那也是巧合。