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
相关推荐
闪电悠米12 小时前
力扣hot100-56.合并区间-排序详解
数据结构·算法·leetcode·贪心算法·排序算法
卡提西亚13 小时前
leetcode-1438. 绝对差不超过限制的最长连续子数组
算法·leetcode·职场和发展
Java面试题总结13 小时前
LeetCode 93.复原IP地址
算法·leetcode·职场和发展·.net
Frostnova丶19 小时前
(17)LeetCode 41. 缺失的第一个正数
数据结构·算法·leetcode
旖-旎19 小时前
《LeetCode 416 分割等和子集》
c++·算法·leetcode·动态规划·背包问题
闪电悠米1 天前
力扣hot100-53.最大子数组和-动态规划详解
算法·leetcode·动态规划·dp·hot100
晚笙coding2 天前
LeetCode 226. 翻转二叉树(Invert Binary Tree)
算法·leetcode·职场和发展
退休倒计时2 天前
【每日一题】LeetCode 287. 寻找重复数 TypeScript
算法·leetcode·typescript
G.O.G.O.G2 天前
《LeetCode SQL 从入门到精通(MySQL)》09
sql·mysql·leetcode
To_OC3 天前
LC 22 括号生成:刷完这道题,我终于搞懂回溯剪枝了
javascript·算法·leetcode