#include<stdio.h>
int main()
{
int arr[]={1,3,3,1,4,6,4,5,5};
int i=0;
int len=sizeof(arr)/sizeof(arr[0]);
/*找出单独的数,就将数组中的每个数全都取异或运算,
如:arr[1]={1,3,3,1,4}
01^11=10,再用这个结果10^11=01,01^01=00,000^100=100=4
独的数结果就为1
(1)a=a^b c^a相当于c^(a^b)
(2)自己异或自己两次相当于没有异或,还是自己。*/
for(i=1;i<len;i++)
{
arr[0]=arr[0]^arr[i];
}
printf("the single number is:%d",arr[0]);
return 0;
}
转载于:https://blog.51cto.com/10740184/1705779
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/109280.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...