【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
相关推荐
林间码客8 分钟前
RAG系统评估指南:从入门到实践
人工智能·算法·机器学习
凌波粒11 分钟前
LeetCode--47.全排列 II(回溯算法)
算法·leetcode·职场和发展
学究天人12 分钟前
数学公理体系大全:Comprehensive Collection of Mathematical Axiom Systems(卷8)
线性代数·算法·机器学习·数学建模·动态规划·图论·抽象代数
ctrl_v助手18 分钟前
HALCON 学习笔记1
笔记·数码相机·学习·算法·计算机视觉
ShallWeL1 小时前
【机器学习】(16)—— 数值数据
人工智能·python·算法·机器学习·数据分析
hongyucai2 小时前
详解rlinf强化学习四步曲
人工智能·python·算法·架构
变量未定义~2 小时前
ST表-龙骑士军团【算法赛】
数据结构·算法
小帽子_1232 小时前
储能 SOC/SOH 精准估算技术:储能工况下算法优化与误差修正方案
算法
hhlongg2 小时前
FFT分析
算法