【LeetCode】136.只出现一次的数字

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])函数接受两个参数,分别是functioniterable[]。第二个 代表需要处理的数据集合,第一个参数代表用什么函数处理。
    reduce函数的执行逻辑就是:
  • 匿名函数
    本题中传入的参数是一个匿名函数lambda a,b : a^b 这个函数的入参是a,b,返回的结果就是a^b
相关推荐
南梦也要学习2 分钟前
STM32江科大----------PID算法
stm32·嵌入式硬件·算法
.普通人30 分钟前
算法基础(以acwing讲述顺序为主,结合自己理解,持续更新中...)
c++·算法
brzhang34 分钟前
为什么 A2A 和 MCP 缺一不可?
前端·后端·算法
strive-debug43 分钟前
上篇:《排序算法的奇妙世界:如何让数据井然有序?》
数据结构·算法·排序算法
徒步青云1 小时前
七大排序算法及其优化
算法·排序算法
蔡蓝1 小时前
jwt的无感刷新
算法·哈希算法
HelloDam2 小时前
912. 排序数组 超级通俗易懂、全面的快速排序教程(优化重复元素、实例有序问题)
后端·算法·排序算法
HelloDam2 小时前
leetcode51.N 皇后 回溯算法求解 + 效率优化
后端·算法
DataFunTalk2 小时前
30位数据科学家集结完毕,揭晓大模型时代数据科学的“晋级之路”
前端·后端·算法
ん贤2 小时前
图论基础理论
c语言·数据结构·c++·算法·图论