有一堆数字,如果除了一个数字以外,其他数字都出现了两次,那么如何找到出现一次的数字?
原创问题:有一堆数字,如果除了一个数字以外,其他数字都出现了两次,那么如何找到出现一次的数字?
nums := []int{1, 5, 1, 6, 5, 3, 6}
i := 0
len := len(nums)
for j := 0; j < len; j++ {
i ^= nums[j]
}
fmt.Println(i)
或者
nums := []int{1, 5, 1, 6, 5, 3, 6}
i := 0
for _, v := range nums {
i ^= v
}
fmt.Print(i)
这个问题的关键在于弄清楚位运算符(异或 ^ )的作用就好办了
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
上一篇:PHP命令行脚本接收传入参数的三种方式 下一篇:Go开发人员应该记住这10个命令
itfan123





