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

2023-10-16每日一题

一、题目编号

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

二、题目链接

点击跳转到题目位置

三、题目描述

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

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

示例 2:

示例 3:

提示:

  • 2 <= nums.length <= 3 * 104
  • -231 <= numsi <= 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) 哈希表。

相关推荐
仍然.10 分钟前
算法题目---优先级队列
算法
一个爱编程的人13 分钟前
图的相关概念
c++·算法·图论
迈巴赫车主14 分钟前
贪心算法
算法·贪心算法
星马梦缘27 分钟前
死锁与进程资源分配问题的解法
算法·操作系统·深度优先·死锁
爱炼丹的James32 分钟前
第四章 数学知识
算法
吃好睡好便好40 分钟前
矩阵旋转的计算
学习·线性代数·算法·矩阵
袋鼠云数栈1 小时前
数栈 V7.0 多模态数据智能平台:打造 AI-Ready 的企业数据底座
大数据·数据结构·数据库·人工智能·数据治理·多模态
埃菲尔铁塔_CV算法1 小时前
基于扩张卷积与双分支参数调控的低光照图像增强算法完整研究与工程解析
人工智能·神经网络·算法·机器学习·计算机视觉
迈巴赫车主2 小时前
优先队列(PriorityQueue)
数据结构·算法
hai3152475432 小时前
有规则的AI编制操作系统演进过程展示
人工智能·程序人生·算法·逻辑回归·创业创新