【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
相关推荐
来自于狂人5 分钟前
第5章 记忆管理——让Agent记住事情
人工智能·算法·语言模型·自然语言处理
CHHH_HHH9 分钟前
【C++】哈希表原理与实战:从冲突解决到性能优化
开发语言·数据结构·c++·学习·算法·哈希算法·散列表
sali-tec17 分钟前
C# 基于OpenCv的视觉工作流-章84-包胶有无检测
图像处理·人工智能·opencv·算法·计算机视觉
Irissgwe24 分钟前
数据结构-排序
数据结构·算法·排序算法
小O的算法实验室28 分钟前
2025年IEEE TITS,基于动态聚类粒子群算法的无人机任务分配与路径规划
算法
Tairitsu_H33 分钟前
[LC优选算法#5] 分治:快排 | 颜色分类 | 排序数组 | 第K大元素
c++·算法·leetcode·排序算法·快速排序
青山木35 分钟前
Hot 100 --- 滑动窗口最大值
java·数据结构·算法·leetcode·动态规划
青山木36 分钟前
Hot 100 --- 除自身以外数组的乘积
java·数据结构·算法
Frank学习路上39 分钟前
【C++】面试:STL容器与算法
c++·算法·面试
10岁的博客41 分钟前
NOIP2010普及组「接水问题」详解:模拟算法与优先队列解法
开发语言·c++·算法