leetcode-260:只出现一次的数字 III

简介: leetcode-260:只出现一次的数字 III

题目

题目连接

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

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

示例 1:

输入:nums = [1,2,1,3,2,5]
输出:[3,5]
解释:[5, 3] 也是有效的答案。

示例 2:

输入:nums = [-1,0]
输出:[-1,0]

示例 3:

输入:nums = [0,1]
输出:[1,0]

解题

方法一:

1.所有数异或完后,结果必定不是0

2.最后一个二进制位1,作为mask

3.根据mask将nums分为两部分,两部分分别异或,求得两个数

class Solution {
public:
    vector<int> singleNumber(vector<int>& nums) {
        long m;
        for(int num:nums){
            m^=num;
        }
        int mask=m&(-m);
        vector<int> res(2);
        for(int num:nums){
            if(mask&num){
                res[0]^=num;
            }else{
                res[1]^=num;
            }
        }
        return res;
    }
};
相关文章
|
8月前
|
消息中间件 Cloud Native 大数据
ApsaraMQ x Confluent 云原生 Kafka 线上沙龙
云消息队列 Kafka 版是基于 Apache Kafka 构建的全托管服务,依托于阿里云强大的基础设施,对 Apache Kafka 进行了深度重构,通过存算分离架构、高弹性扩展、云服务深度集成等优化,致力于打造更经济、更稳定、更弹性的云原生 Kafka 产品,助力企业在数字化与智能化转型中,实现业务的稳定增长与创新突破。同时,阿里云作为全球消息流领域领导者 Confluent 在中国大陆地区唯一的合作商,推出云消息队列 Confluent 版,为企业提供集成消息流式处理与大数据系统的一站式解决方案。
|
算法 程序员 云计算
探索编码之旅:从小白到专家的技术成长之路
在编程的世界里,每一步都蕴藏着无限可能。本文将带你走进一个编程新手如何通过不懈努力,逐步解锁编程技能的旅程。我们将一起回顾那些令人头疼的错误,庆祝那些小小的胜利,并分享一些实用的代码片段,帮助你在编程的道路上越走越远。
|
缓存 前端开发 JavaScript
彻底学会react hooks API以及应用场景
【4月更文挑战第6天】 React Hooks是16.8版引入的新特性,允许在函数组件中使用state和其它React功能,避免类组件。主要包括useState(添加state)、useEffect(处理副作用)、useContext(访问上下文)、useReducer(使用reducer)、useCallback(缓存函数)、useMemo(缓存计算结果)和useRef(访问DOM元素)。Hooks简化了代码组织和重用,提高了代码效率和可维护性。
344 0
|
SQL 存储 缓存
MySQL binlog
binlog是Mysql sever层维护的一种二进制日志,与innodb引擎中的redo/undo log是完全不同的日志;其主要是用来记录对mysql数据更新或潜在发生更新的SQL语句,并以"事务"的形式保存在磁盘中。
1229 0
|
机器学习/深度学习 人工智能 算法
开源中文医疗大模型华佗GPT来了,真人医生盲测效果优于ChatGPT
开源中文医疗大模型华佗GPT来了,真人医生盲测效果优于ChatGPT
1267 0
|
算法
2020电赛E题--非线性失真器程序设计-02-使用STM32实现THD高精度测量采集(附整个工程gitee链接)(一)
2020电赛E题--非线性失真器程序设计-02-使用STM32实现THD高精度测量采集(附整个工程gitee链接)
708 0
2020电赛E题--非线性失真器程序设计-02-使用STM32实现THD高精度测量采集(附整个工程gitee链接)(一)
083.验证歌德巴赫猜想
083.验证歌德巴赫猜想
185 0
|
架构师 程序员 开发者
《LabVIEW宝典(第2版)》| 每日读本书
LabVIEW经典图书升级版,入门、进阶之选。每日搜罗最具权威专业书籍,更多图书请关注“每日读本书”。
1456 0
|
安全
Twitter再次遭遇大规模钓鱼攻击
据国外媒体报道,信息安全公司Sophos今天报告称,Twitter再次遭遇大规模钓鱼攻击。 攻击者在Twitter上传播一条内容为“This you????”的消息,并附带一条指向虚假Twitter登陆页面的链接。
824 0

热门文章

最新文章