数组中有一个数字出现一次,其余数字均出现两次,求出出现一次的那个数字。

来源:互联网 发布:unity3d扫描生成模型 编辑:程序博客网 时间:2024/06/07 18:37

今天在知乎上看到的,本身这题确实没啥难度,直接搜索就可以了。但是看到了一个超简单的方法,时间复杂度只有n。使用异或运算,把所有元素进行异或,最后的结果就是出现一次的,很是佩服。怎么说呢,简单题也有让人惊叹的解法,还需要努力啊。。。

代码:

#include<iostream>using namespace std;int Arr[11]={1,1,3,5,4,3,4,5,10,11,10};int main(){int x=Arr[0];for(int i=1;i<11;++i){x=x^Arr[i];}cout<<x<<endl;return 0;}


0 0
原创粉丝点击