在一个长度为 n 的正整数序列中,所有的奇数都出现了偶数次,只有一个奇葩奇数出现了奇数次。你的任务就是找出这个奇葩。
输入格式:
输入首先在第一行给出一个正整数 n(≤10^4),随后一行给出 n 个满足题面描述的正整数。每个数值不超过 10^5,数字间以空格分隔。
输出格式:
在一行中输出那个奇葩数。题目保证这个奇葩是存在的。
输入样例:
12
23 16 87 233 87 16 87 233 23 87 233 16
输出样例:
233
分析:把每个数字当成下标存,出现一次就在tong里加1。最后数组里的数字就是对应下标出现了多少次,看一下哪一个奇数出现奇数次。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include <iostream> using namespace std; int n, num, tong[100001]; int main() { cin >> n; while (n--) { cin >> num; tong[num]++; } for (int i = 1; i < 100000; i += 2) { if(tong[i] & 1) cout << i; } return 0; } |
❤ 点击这里 -> 订阅《PAT | 蓝桥 | LeetCode学习路径 & 刷题经验》by 柳婼