leetcode hot100 136. 只出现一次的数字 easy 技巧 位运算 异或 XOR(^)


异或 XOR(^)

  1. a ^ a = 0 (相同抵消)
  2. a ^ 0 = a (不变)
  3. 满足交换律、结合律

时间复杂度:O(n)

空间复杂度:O(1)

clike 复制代码
class Solution:
    def singleNumber(self, nums: List[int]) -> int:

        # 异或 XOR(^)
        # a ^ a = 0        (相同抵消)
        # a ^ 0 = a        (不变)

        res = 0
        for x in nums:
            res ^= x
        return res
相关推荐
无bug代码搬运工13 小时前
LeetCode 42 接雨水:双指针解法详解
算法·leetcode·职场和发展
zander25817 小时前
34. 在排序数组中查找元素的第一个和最后一个位置:用两个边界定位区间
数据结构·算法·leetcode
To_OC1 天前
LC 35 搜索插入位置:二分查找谁都会,边界条件谁写谁懵
javascript·算法·leetcode
evans在进步1 天前
LeetCode 189 轮转数组:三次反转原地解决,图解 Java 实现
java·算法·leetcode
旖旎夜光1 天前
LeetCode 991: 坏了的计算器(贪心算法) —— 题解
数据结构·c++·算法·leetcode·贪心算法
旖旎夜光1 天前
LeetCode 553:最优除法(贪心算法) —— 题解
数据结构·c++·算法·leetcode·贪心算法
宵时待雨2 天前
优选算法专题12:队列
算法·leetcode·职场和发展
旖旎夜光2 天前
LeetCode 435:无重叠区间(贪心算法) —— 题解
数据结构·c++·算法·leetcode·贪心算法
旖旎夜光2 天前
LeetCode 738:单调递增的数字(贪心算法) —— 题解
数据结构·c++·算法·leetcode·贪心算法
青山木2 天前
Hot 100 --- 搜索二维矩阵
java·算法·leetcode·矩阵