共计 298 个字符,预计需要花费 1 分钟才能阅读完成。
力扣链接:https://leetcode-cn.com/probl…
解题思路:
- 惯例思路:应用哈希 / 汇合来进行去重判断,然而须要从新开拓空间,导致空间复杂度回升
- 异或:英文为 exclusive OR,缩写成 xor,它有如下运算法令:
如上所示,在题目中,只有一个数字只呈现了一次,依据结合律 & 交换律 & 自反定律克可知,两个雷同的数字 异或 后果为 0,0 与任何数字 异或 等于数字自身,所以所有的数字与初始化数字 0 抑或,最初的值就是指呈现一次的数字
func singleNumber(nums []int) int {
single := 0
for _, v := range nums {single ^= v}
return single
}
正文完