【LeetCode】136.只出现一次的数字
1. 题目https://i-blog.csdnimg.cn/direct/56350377024b4b18ba7e8b396d42bcae.png
2. 分析
这题观察的是根本的位运算。位运算作为程序员必备的基础知识,没有理由忘记。 本题涉及到的知识点是异或运算。
3. 代码
非常简便的一版代码:
class Solution:
def singleNumber(self, nums: List) -> int:
return reduce(lambda a, b: a ^ b, nums)
这版代码里面使用了多个常用的Python函数。一个一个来分析:
[*]reduce()函数
reduce(function, iterable[, initializer])函数担当两个参数,分别是function 和 iterable[]。第二个 代表需要处理的数据集合,第一个参数代表用什么函数处理。
reduce函数的执行逻辑就是:
https://i-blog.csdnimg.cn/direct/66a654f7acac4c43ba9dd7152582fd41.png
[*]匿名函数
本题中传入的参数是一个匿名函数lambda a,b : a^b 这个函数的入参是a,b,返回的效果就是a^b
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]