2023-10-16 LeetCode每日一题(只出现一次的数字 III)

2023-10-16每日一题

一、题目编号

复制代码
260. 只出现一次的数字 III

二、题目链接

点击跳转到题目位置

三、题目描述

给你一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。

你必须设计并实现线性时间复杂度的算法且仅使用常量额外空间来解决此问题。
示例 1:

示例 2:

示例 3:

提示:

  • 2 <= nums.length <= 3 * 104
  • -231 <= nums[i] <= 231 - 1
  • 除两个只出现一次的整数外,nums 中的其他数字都出现两次

四、解题代码

cpp 复制代码
class Solution {
public:
    vector<int> singleNumber(vector<int>& nums) {
        int mask = 0;
        for(int i = 0; i < nums.size(); ++i){
            mask ^= nums[i];
        }
        int h = 1;
        while(!(h&mask)){
            h <<= 1;
        }
        int a = 0, b = 0;
        for(int i = 0; i < nums.size(); ++i){
            if(h&nums[i]){
                a ^= nums[i];
            }
            else{
                b ^= nums[i];
            }
        }
    return {a, b};
    }
};

五、解题思路

(1) 哈希表。

相关推荐
Aurorar0rua1 小时前
C Primer Plus Notes 09
java·c语言·算法
我不是QI4 小时前
DES 加密算法:核心组件、加解密流程与安全特性
经验分享·算法·安全·网络安全·密码学
前端小刘哥4 小时前
新版视频直播点播EasyDSS平台,让跨团队沟通高效又顺畅
算法
明月(Alioo)5 小时前
机器学习入门,无监督学习之K-Means聚类算法完全指南:面向Java开发者的Python实现详解
python·算法·机器学习
叶梅树5 小时前
从零构建A股量化交易工具:基于Qlib的全栈系统指南
前端·后端·算法
lingran__5 小时前
算法沉淀第三天(统计二进制中1的个数 两个整数二进制位不同个数)
c++·算法
MicroTech20255 小时前
微算法科技MLGO推出隐私感知联合DNN模型部署和分区优化技术,开启协作边缘推理新时代
科技·算法·dnn
小冯记录编程6 小时前
深入解析C++ for循环原理
开发语言·c++·算法
chenchihwen7 小时前
深度解析RAG系统中的PDF解析模块:Docling集成与并行处理实践
python·算法·pdf
Chloeis Syntax8 小时前
栈和队列笔记2025-10-12
java·数据结构·笔记·