数组中只出现一次的两个数字
因为两数的最低为都是一样的,&1之后还是1,还是无法区分,那么我们看到最低的第二位0011是1,0101是0,很明显这两位就不一样,那么我们就可以将这两数&0010呀,不就能够区分出来了吗?所以,我们要想对两者进行分组操作,就是需要找到两者中的那一位不同的二进制,然后得到分组的与值(去&的那个值),问题不就解决了吗?刷到此题的时候,只写出了最普通的解法,最后看了二进制解法,叹为观止,不禁感叹到它的巧妙,因此记录一下,共勉。但是,我们想一下,&1的操作,归根到底,是按照二进制最低位的不同来分组的,
原创
2024-02-29 20:01:53 ·
831 阅读 ·
0 评论