当前位置: 首页 > article >正文

力扣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 。

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

 


http://www.kler.cn/a/349954.html

相关文章:

  • HarmonyOS Next 应用UI生成工具介绍
  • JQuery基本介绍和使用方法
  • Formality:不可读(unread)的概念
  • MySQL训练营-慢查询诊断问题
  • doris:Broker Load
  • CSDN 博客之星 2024:默语的技术进阶与社区耕耘之旅
  • tcl/perl 脚本命令学习
  • 基于SpringBoot+Vue的益农智慧服务平台【提供源码+答辩PPT+参考文档+项目部署】
  • 2017年-2021年 软件工程程序设计题(算法题)实战_c语言程序设计数据结构程序设计分析
  • 12- Cesium 中动态处理与四个圆形渐变过渡材质相关的属性
  • 【微信小程序_4_小程序view组件和swiper组件】
  • 扫雷(C 语言)
  • 尚硅谷rabbitmq2024介绍和工作模式 第4-9节 答疑
  • js 精确计算(加减乘除)
  • ajax地址参数与data参数运用
  • 数据结构与算法:贪心算法与应用场景
  • Rust 与生成式 AI:从语言选择到开发工具的演进
  • 2-STM32入门
  • [LeetCode] 217. 存在重复元素
  • python中深拷贝和浅拷贝的区别
  • MySQL 大数据量导入与导出全攻略
  • 扫普通链接二维码打开小程序
  • 攻上云端,独立数据库OceanBase的生存之道
  • Flink算子状态为何只能用ListState?
  • 网络爬虫-数美滑块验证码
  • 24/10/12算法笔记 VGG