260. 只出现一次的数字 III
https://leetcode-cn.com/problems/single-number-iii/
解法一:
与136. 只出现一次的数字 不同之处在于要找的数字有两个。
用了一个很骚的操作diff & -diff,即与自身相反数与操作,得到的二进制数只有一个1(称为set bit),且是diff之中最右的1.
例如3和5
根据和2与操作的结果,将所有数分成两组,则3和5一定划分到不同的组,每组之中再异或即可分别找出。
最后更新于
https://leetcode-cn.com/problems/single-number-iii/
与136. 只出现一次的数字 不同之处在于要找的数字有两个。
用了一个很骚的操作diff & -diff,即与自身相反数与操作,得到的二进制数只有一个1(称为set bit),且是diff之中最右的1.
例如3和5
根据和2与操作的结果,将所有数分成两组,则3和5一定划分到不同的组,每组之中再异或即可分别找出。
最后更新于