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

【从零开始的LeetCode-算法】3158.求出出现两次数字的 XOR 值

给你一个数组 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

提示:

  • 1 <= nums.length <= 50

  • 1 <= nums[i] <= 50

  • nums 中每个数字要么出现过一次,要么出现过两次。

我的解答:

class Solution {
    public int duplicateNumbersXOR(int[] nums) {
        // 因为数组内的数字最多出现两次,所以只需要判断数字是否重复出现即可
        Set<Integer> set = new HashSet<Integer>();
        int res = 0;
        for(int num : nums){
            // 判断数字是否已存在集合中,存在,则按位计算,否则,加入集合中
            if( set.contains( num ) ){
                res ^= num;
            }else{
                set.add(num);
            }
        }
        return res;
    }
}


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

相关文章:

  • Python语言的编程范式
  • 【redis】键的全局命令
  • 代理模式实现
  • 《银行保险机构数据安全管理办法》正式实施,分类分级、安全评估共筑安全防线
  • 【Vim Masterclass 笔记14】S07L29 + L30:练习课08 —— Vim 文本对象同步练习(含点评课内容)
  • Hive SQL必刷练习题:留存率问题
  • latex公式输入-矩阵
  • 《深度学习》OpenCV 风格迁移、DNN模块 案例解析及实现
  • MyBatis-Plus 记录
  • wireshark 解密浏览器https数据包
  • 【Oracle篇】SQL执行计划之多表连接(含内连接、外连接、半连接、反连接、笛卡尔连接五种连接方式和嵌套、哈希、排序合并三种连接算法)(第四篇,总共七篇)
  • docker-compose里定义的参数来创建容器
  • Apache jmeter中MIME类型如何定义
  • 网络安全之密码学
  • StarRocks大批量数据导入方案-使用 Kafka connector 导入数据
  • 软考中级 - 软件设计师学习笔记 - 1.3 计算机安全
  • 自动驾驶系列—自动驾驶操作系统选型指南:如何选择最适合的系统?
  • 【openGL学习笔记】----GLFW、GLAD环境配置
  • 【中医揭秘】烦躁不安的根源与调养秘籍,让你重获内心宁静
  • SSL: CERTIFICATE_VERIFY_FAILED解决方法
  • 以下是为升级到 Spring Boot 3 制定测试计划
  • 「从零开始的 Vue 3 系列」:第十三章——架构一个Vue项目(简单版)
  • 2024 年江西省职业院校技能大赛应用软件系统开发赛项竞赛规程(高职组)
  • 网络安全知识核心20要点
  • 论文速读:通过目标感知双分支蒸馏进行跨域目标检测(CVPR2022)
  • 在Openshift(K8S)上通过EMQX Operator部署Emqx集群