基础题。异或。
这道题很简单。但一开始我并没有想到O(n)的算法,然后排序tle了一发。
后来一直在想怎么使得俩个相同数互相“抵消”掉,灵机一动,发现这是异或。
#include<cstdio> #include<algorithm> using namespace std; const int maxn = 100000 + 10; int a,n,ans; int main() { while(scanf("%d",&n) && n) { ans=0; for(int i=1;i<=n;i++) { scanf("%d",&a); ans^=a; } printf("%d\n",ans); } return 0; }
时间: 2024-10-12 08:04:55