1. 题目
2. 分析
这题考察的是基本的位运算。位运算作为程序员必备的基础知识,没有理由忘记。 本题涉及到的知识点是异或运算。
3. 代码
非常简洁的一版代码:
python
class Solution:
def singleNumber(self, nums: List[int]) -> int:
return reduce(lambda a, b: a ^ b, nums)
这版代码里面使用了多个常用的Python函数。一个一个来分析:
reduce()
函数
reduce(function, iterable[, initializer])
函数接受两个参数,分别是function
和iterable[]
。第二个 代表需要处理的数据集合,第一个参数代表用什么函数处理。
reduce函数的执行逻辑就是:
- 匿名函数
本题中传入的参数是一个匿名函数lambda a,b : a^b
这个函数的入参是a,b
,返回的结果就是a^b