大连全瓷种植牙齿制作中心 发表于 2024-8-3 00:32:13

【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]
查看完整版本: 【LeetCode】136.只出现一次的数字