在一个长度为 n 的正整数序列中,所有的奇数都出现了偶数次,只有一个奇葩奇数出现了奇数次。你的任务就是找出这个奇葩。
输入格式:
输入首先在第一行给出一个正整数 n(≤104),随后一行给出 n 个满足题面描述的正整数。每个数值不超过 105,数字间以空格分隔。
输出格式:
在一行中输出那个奇葩数。题目保证这个奇葩是存在的。
输入样例:
12
23 16 87 233 87 16 87 233 23 87 233 16
输出样例:
233
代码:
#include<iostream>
#include<unordered_map>
using namespace std;
int main(){
int n;
cin>>n;
unordered_map<int,int> m;
for(int i=0;i<n;i++){
int num;
scanf("%d",&num);
m[num]++;
}
for(auto it:m)
if(it.first%2==1&&it.second%2==1){
cout<<it.first;
break;
}
return 0;
}
7分钟AC
该博客介绍了一个编程问题,要求在给定的正整数序列中找出唯一出现奇数次的奇数。输入包含一个整数n和n个序列元素,程序通过哈希映射找到并输出这个“奇葩”奇数。示例输入和输出分别给出了12个数字的序列和数字233。代码使用C++实现,通过unordered_map存储每个数字出现的次数,并检查奇数的出现频率来找出答案。

被折叠的 条评论
为什么被折叠?



