#include <iostream>
using namespace std;
int deal( int a[] , int length ) {
int i;
int t_num;
int t_time;
if( length <= 0 ) {
return -1;
}
if( length == 1 ) {
return a[ 0 ];
}
t_time = 1;
t_num = a[ 0 ];
for( i = 1 ; i < length ; i ++ ) {
//如果当前数字等于记录的t_num,即其重复出现
if( a[ i ] == t_num ) {
t_time ++;
}
//如果不相等
else {
//如果没有现存t_num,则记录当前数字
if( t_time == 0 ) {
t_num = a[ i ];
t_time = 1;
}
//否则,现存数字出现次数减1,相当于抵消掉了
else {
t_time --;
}
}
}
cout << t_num << endl;
}
int main() {
int a[ 10 ];
int i;
for( i = 0 ; i < 10 ; i ++ ) {
cin >> a[ i ];
}
deal( a , 10 );
return 0;
}
//2 2 1 5 3 2 2 1 2 2
数组中出现次数超过数组长度一半的数字
最新推荐文章于 2024-06-24 00:29:07 发布