标签:
#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++数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字。
标签:
原文地址:http://blog.csdn.net/liuhuiyan_2014/article/details/45439069