力扣3158.求出出现两次数字的XOR值 python

给你一个数组 nums ,数组中的数字 要么 出现一次,要么 出现两次。

请你返回数组中所有出现两次数字的按位XOR 值,如果没有数字出现过两次,返回 0 。

示例 1:

**输入:**nums = [1,2,1,3]

**输出:**1

解释:

nums 中唯一出现过两次的数字是 1 。

示例 2:

**输入:**nums = [1,2,3]

**输出:**0

解释:

nums 中没有数字出现两次。

示例 3:

**输入:**nums = [1,2,2,1]

**输出:**3

解释:

数字 1 和 2 出现过两次。1 XOR 2 == 3

python 复制代码
from typing import List

class Solution:
    def duplicateNumbersXOR(self, nums: List[int]) -> int:
        time = 0  # 用于记录数字是否已经见过
        ans = 0   # 用于记录重复出现的数字
        
        for a in nums:
            # 如果当前数字的状态已经被记录过,则说明这是一个重复数字
            if time >> a & 1:    #返回1就是属于,返回0不属于
                ans ^= a            #因为ans本身为零!
            else:
                # 将当前数字记录到 time 中
                time |= 1 << a
                
        return ans
相关推荐
陈陈爱java2 分钟前
RRT建模
算法
智算菩萨9 分钟前
摩擦电纳米发电机近期进展的理论脉络梳理:从接触起电到统一建模与能量转换
linux·人工智能·算法
xiaolang_8616_wjl11 分钟前
c++超级细致的基本框架
开发语言·数据结构·c++·算法
艾醒40 分钟前
大模型原理剖析——拆解预训练、微调、奖励建模与强化学习四阶段(以ChatGPT构建流程为例)
算法
冷崖1 小时前
排序--基数排序
c++·算法
F_D_Z1 小时前
哈希表解Two Sum问题
python·算法·leetcode·哈希表
Aaron15881 小时前
基于RFSOC+VU13P+GPU架构在雷达电子战的技术
人工智能·算法·fpga开发·架构·硬件工程·信号处理·基带工程
LYFlied1 小时前
【每日算法】LeetCode124. 二叉树中的最大路径和
数据结构·算法·leetcode·面试·职场和发展
talenteddriver2 小时前
java: Java8以后hashmap扩容后根据高位确定元素新位置
java·算法·哈希算法
跨境猫小妹2 小时前
2025 TikTok Shop:从内容爆发到系统化深耕的商业跃迁
大数据·人工智能·算法·产品运营·亚马逊