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) 哈希表。

相关推荐
腾讯云开发者6 分钟前
数据与 AI 双向奔赴,腾讯云架构师技术沙龙精彩回顾
数据结构
快手技术17 分钟前
快手 & 南大发布代码智能“指南针”,重新定义 AI 编程能力评估体系
算法
Murphy_lx30 分钟前
C++ std_stringstream
开发语言·c++·算法
xiaoxue..41 分钟前
栈的全面解析:ADT、实现与应用
javascript·数据结构·面试
CoovallyAIHub1 小时前
超越YOLOv8/v11!自研RKM-YOLO为输电线路巡检精度、速度双提升
深度学习·算法·计算机视觉
哭泣方源炼蛊1 小时前
HAUE 新生周赛(七)题解
数据结构·c++·算法
q***64972 小时前
SpringMVC 请求参数接收
前端·javascript·算法
Lwcah2 小时前
Python | LGBM+SHAP可解释性分析回归预测及可视化算法
python·算法·回归
小此方2 小时前
从零开始手搓堆:核心操作实现 + 堆排序 + TopK 算法+ 向上调整 vs 向下调整建堆的时间复杂度严密证明!
开发语言·数据结构·算法
前端炒粉5 小时前
35.LRU 缓存
开发语言·javascript·数据结构·算法·缓存·js