C++数组中有一个数字出现的次数超过了数组长度的一半,找出这个

#include <iostream>#include <bitset>using namespace std;//数组中超过出现次数超过一半的数字(数组)//题目:数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字。template<int _N>int Grial(bitset<_N> &bt,int a[]){int check[_N];for(int i=1;i<=_N;i++){int count = 0;if(!bt.test(a[i])){count++;bt.set(a[i]);check[a[i]] = count;}else{ check[a[i]]++; if(check[a[i]]>=_N/2)return a[i];}}}int main(){bitset<27> bt;int a[]={1,1,1,1,6,1,1,4,1,1,1,1,1,1,3,3,1,1,3,1,21,1,1,1,1,1};cout<<Grial<27>(bt,a)<<endl;//cout<<bt<<endl;return 0;}

,我喜欢旅游,喜欢离开自己过腻歪的城市,

C++数组中有一个数字出现的次数超过了数组长度的一半,找出这个

相关文章:

你感兴趣的文章:

标签云: