1547. 奇数统计(count)
发布日期:2021-05-15 09:30:21 浏览次数:12 分类:精选文章

本文共 1115 字,大约阅读时间需要 3 分钟。

1547. 奇数统计(count)

题目描述

给出N个正整数,其中只有一个数出现了奇数次,其余的数都出现偶数次。
求那个出现了奇数次的数。1<=N<=500000,N肯定是奇数。所有出现数都不超过10000。

输入

第一行是N,下一行有N个正整数。

输出

出现了奇数次的数。

样例输入

​【样例输入1】

93 1 2 2 17 1 3 17 3

【样例输入2】

512 13 14 13 12

样例输出

【样例输出1】

3

【样例输出2】

14

方法一(桶排):

#include
#include
#include
#include
#include
#include
#include
#include
#define fre(x) freopen(#x".in","r",stdin),freopen(#x".out","w",stdout);using namespace std;const int MAX=2147483647;const int N=1e6;int f[5000100],n,a;int main(){ fre(count); scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a),f[a]++; for(int i=1;i<=5000000;i++) if(f[i]%2) { printf("%d",i);return 0;} return 0;}

方法二(异或):

相同的数进行异或后为零。

#include
#include
#include
#include
#include
#include
#include
#include
#define fre(x) freopen(#x".in","r",stdin),freopen(#x".out","w",stdout);using namespace std;const int MAX=2147483647;const int N=1e6;int n,a,b;int main(){ //fre(count); scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a),b^=a; printf("%d",b); return 0;}
上一篇:2254. 二项式展开式(power)
下一篇:1932. 奶牛的声音(mooomoo)

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月26日 08时42分13秒