【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
相关推荐
澈20720 小时前
高效查找算法详解:从顺序到哈希
数据结构·算法·哈希算法
kobesdu20 小时前
开源3D激光SLAM算法的异同点、优劣势与适配场景总结
算法·3d·机器人·ros
ZC跨境爬虫20 小时前
3D 地球卫星轨道可视化平台开发 Day13(卫星可视化交互优化+丝滑悬停聚焦)
前端·算法·3d·json·交互
水木流年追梦20 小时前
CodeTop Top 100 热门题目(按题型分类)
算法·leetcode
Tisfy20 小时前
LeetCode 1722.执行交换操作后的最小汉明距离:连通图
算法·leetcode·dfs·题解·深度优先搜索·连通图
不知名的老吴20 小时前
案例教学:最长递增子序列问题
数据结构·算法·动态规划
样例过了就是过了20 小时前
LeetCode热题100 杨辉三角
c++·算法·leetcode·动态规划
念越20 小时前
算法每日一题 Day05|双指针解决盛最多水的容器问题
算法·力扣
eggrall20 小时前
Leetcode 最大连续 1 的个数 III(medium)
算法·leetcode·职场和发展
啊我不会诶20 小时前
Educational Codeforces Round 120 (Rated for Div. 2) vp补题
c++·算法