第一次出现的数字
第一次出现的数字 | 笔记整理!
只出现一次的数字 |
异或的性质 | 参考百度
1 | func singleNumber(nums []int) int { |
只出现一次的数字 ||
进行映射即可 | 处理一下溢出问题
1 | func singleNumber(nums []int) int { |
只出现一次的数字 III
还是利用异或
将所有数据异或一次 结果得到
ans=a^b
其中a
与b
是我们需要求解的数据显然
ans
是不能等于1
的,我们可以对于ans
区别划分 因为a
与b
至少有一位是不一样的,所以我们可以随便取一位不一样的 进行将所有数据区分.然后重新异或该位为1
或0
的数据 得到a
与b
中的其中一个然后异或一下
ans
便可以得到最终答案!求取不一样某位不一样的
1
我们可以使用补码原理,快速处理直接找到最低位的1即可
1 | func singleNumber(nums []int) []int { |