class Solution {
public:
int MoreThanHalfNum_Solution(vector<int> numbers) {
int count;
int length=numbers.size();
for(int i=0;i<length;i++)
{
count=0;
for(int j=0;j<length;j++)
{
if(numbers[i]==numbers[j])
{
count++;
}
}
if(count>length/2)
{
return numbers[i];
break;
}
else
count=0;
}
if(count==0)
return count;
}
};
正常操作:
#include<iostream>
using namespace std;
int main()
{
//数组中出现次数超过一半的数字
int a[]={1,2,3,2,2,2,5,4,2};
//int a[]={1,2,3,2,4,2,5,2,3};
int length=sizeof(a)/sizeof(a[0]);//获取静态数组的长度
int count;
for(int i=0;i<length;i++)
{
count=0;//每次循环必须清零,别忘了!!!!!!!
for(int j=0;j<length;j++)
{
if(a[i]==a[j])
{
count++;
}
}
if(count>length/2)
{
cout<<a[i]<<endl;
break;
}
else//如果不存在这样的数,赋值0
count=0;
}
if(count==0)
cout<<count<<endl;
return 0;
}