在一个长度为 n 的正整数序列中,所有的奇数都出现了偶数次,只有一个奇葩奇数出现了奇数次。你的任务就是找出这个奇葩。
输入格式:
输入首先在第一行给出一个正整数 n(≤104),随后一行给出 n 个满足题面描述的正整数。每个数值不超过 105,数字间以空格分隔。
输出格式:
在一行中输出那个奇葩数。题目保证这个奇葩是存在的。
输入样例:
12
23 16 87 233 87 16 87 233 23 87 233 16
输出样例:
233
代码长度限制
16 KB
时间限制
250 ms
内存限制
64 MB
注:本题我用的方法是直接将number[i]作为count数组的索引,最后遍历数组的时候只需要遍历奇数即可(步长为2)
AC代码如下:
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int number[10001];
int count[100001]={0};
for(int i=0;i<n;i++){
cin>>number[i];
count[number[i]]++;
}
for(int i=1;i<100001;i+=2){
if(count[i]%2){
cout<<i;
break;
}
}
return 0;
}