这个题有一个十分简单的做法
我们可以考虑位运算
按位异或(^)
#include<bits/stdc++.h> using namespace std; inline int read() { int a=0,b=1; char c=getchar(); while(c<‘0‘||c>‘9‘) { if(c==‘-‘) b=-1; c=getchar(); } while(c>=‘0‘&&c<=‘9‘) { a=(a<<3)+(a<<1)+c-‘0‘; c=getchar(); } return a*b; } inline void out(int n) { if(n<0) { putchar(‘-‘); n=-n; } if(n>=10) out(n/10); putchar(n%10+‘0‘); } int n,m,ans; int main() { n=read(); for(int i=1;i<=n;i++) { m=read(); ans^=m; } out(ans); return 0; }
原文:https://www.cnblogs.com/gongcheng456/p/11237875.html