其他分享
首页 > 其他分享> > C语言中分治的思想-位运算

C语言中分治的思想-位运算

作者:互联网

(1) 有101个整数,其中有50个数出现了两次,1个数出现了一次, 找出出现了一次的那个数。

位运算的思想:任何数和零异或得到自己,任何数自己异或得到0。

eg1.{2,1,5,1,2,2}

num=0 0000 0000
2 0000 0010
1 0000 0001
5 0000 0101
1 0000 0001
2 0000 0010
2 0000 0010

可以发现,数字5出现一次,用0依次与每个数异或一下,从0000 0010,0000 0011,0000 0110,0000 0111,0000 0101。可以发现最终出现的结果是出现一次的那个数字,为5。

 

标签:0000,运算,0010,分治,0101,C语言,异或,出现,0001
来源: https://www.cnblogs.com/zt1037054045/p/15838254.html