【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
相关推荐
wadesir8 分钟前
Java实现遗传算法(从零开始掌握智能优化算法)
java·开发语言·算法
Jeremy爱编码11 分钟前
leetcode热题腐烂的橘子
算法·leetcode·职场和发展
H CHY23 分钟前
C++代码
c语言·开发语言·数据结构·c++·算法·青少年编程
alphaTao24 分钟前
LeetCode 每日一题 2025/12/22-2025/12/28
算法·leetcode
xiaolang_8616_wjl27 分钟前
c++题目_传桶(改编于atcoder(题目:Heavy Buckets))
数据结构·c++·算法
中國龍在廣州35 分钟前
生成不遗忘,「超长时序」世界模型,北大EgoLCD长短时记忆加持
人工智能·深度学习·算法·自然语言处理·chatgpt
亓才孓40 分钟前
java中的Math.Radom拓展
开发语言·python·算法
霍田煜熙1 小时前
CBMS最新源码
算法
NAGNIP1 小时前
主流的激活函数有哪些?
算法
NAGNIP1 小时前
Self-Attention 为什么要做 QKV 的线性变换?又为什么要做 Softmax?
算法