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

思路
  先将数组当中所有的元素按位异或,找到按位异或结果最低为1的位,然后拿着这一个位和所有的数字按位与,将那一位为1的分为一组,将那一位为0的分为一组,就一定会将两个数字分开到两个组中,然后每个组分别按位异或,结果就是两个目标值。

代码实现

class Solution {
public:vector<int> singleNumber(vector<int>& nums) {int ret = 0;//保存所有数的异或结果for (int n : nums)ret ^= n;int div = 1;//找异或结果最低位为1的位while ((div & ret) == 0)div <<= 1;int a = 0, b = 0;//保存两个单独的数字for (int n : nums)//将数组分为两组,根据div那一位是1还是0分组{if ((div & n) == 0)a ^= n;elseb ^= n;}return vector<int>{a, b};}
};

leetcode-只出现一次的数字 III-42相关推荐

  1. Java实现 LeetCode 260 只出现一次的数字 III(三)

    260. 只出现一次的数字 III 给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次. 找出只出现一次的那两个元素. 示例 : 输入: [1,2,1,3,2,5] 输出 ...

  2. LeetCode 260. 只出现一次的数字 III(位运算)

    1. 题目 给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次. 找出只出现一次的那两个元素. 示例 :输入: [1,2,1,3,2,5] 输出: [3,5] 注意: 结 ...

  3. leetcode 260. Single Number III | 260. 只出现一次的数字 III(位运算:分组异或)

    题目 https://leetcode.com/problems/single-number-iii/ 题解:分组异或 参考1:讨论区题解 you know you can eliminate dou ...

  4. Leetcode 260. 只出现一次的数字 III 解题思路及C++实现

    解题思路: 这道题真有点玄乎,请看:https://blog.csdn.net/smile_watermelon/article/details/47750249 先mark,之后再仔细研究. cla ...

  5. Leetcode 260. 只出现一次的数字 III

    原题链接 解法:异或操作 vector<int> findNumsAppearOnce(vector<int>& nums) {int eO = 0, eOhasOne ...

  6. leetcode-260.只出现一次的数字 III 解法

    给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次. 找出只出现一次的那两个元素. 示例 : 输入: [1,2,1,3,2,5] 输出: [3,5] 注意: 结果输出的顺 ...

  7. Leecode 260. 只出现一次的数字 III——Leecode每日一题系列

    今天是坚持每日一题打卡的第六天 题目描述 给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次. 找出只出现一次的那两个元素.你可以按 任意顺序 返回答案. 进阶:你的算法 ...

  8. 260. 只出现一次的数字 III 【位运算】

    https://leetcode-cn.com/problems/single-number-iii/ 首先成对的都会删除.只会剩下两个不是一对的数. 首先不难看出 两个数不同,异或后一定会有一个1. ...

  9. Leetcode-260. 只出现一次的数字 III

    题目链接:Leetcode260 给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次. 找出只出现一次的那两个元素. 示例 : 输入: [1,2,1,3,2,5] 输出: ...

  10. leetcode 只出现一次的数字

    16 / 16 个通过测试用例 状态:通过 执行用时:12 ms 内存消耗:40.8 MB 提交时间:6 月,3 周之前 class Solution {public int singleNumber ...

最新文章

  1. windows系统下的Qt安装
  2. The Elements of C# Style -Naming
  3. Sumatra项目用OpenCL提高了Java的性能
  4. MATLAB中K-means函数表达方式
  5. 如何用VC++开发读取网卡MAC地址的程序
  6. 虚拟化+云服务器,虚拟化+云服务器
  7. python基本判断语句_python两种简洁的条件判断语句写法
  8. 为了战略发展,Adobe推出自己浏览器?
  9. 全站黑白悼念代码,几行代码全网站黑白色
  10. AD域、Windows AD域管理功能大全
  11. 《货币金融学》期末复习题
  12. react使用@tweenjs/tween.js实现数字动态增长
  13. Mqtt Retained Message(保留消息)
  14. MySQL本天早上8点到明早8点_早上8点是什么时辰
  15. Python爬虫入门教程 62-100 30岁了,想找点文献提高自己,还被反爬了,Python搞起,反爬第2篇
  16. JS逆向:猿人学爬虫比赛第九题详细题解
  17. Golang Append()详解
  18. 20230107报警器的测试
  19. oracle number存储小数
  20. 如何选择MySQL中除一列外的所有列

热门文章

  1. ROE指标的正确使用方法
  2. 运维思索:系统监控体系
  3. 02 从亚马逊的实践,谈分布式系统的难点
  4. 报表工具花钱or开源?我对比了这6个工具
  5. SAT语法之指示代词知识点
  6. 企业数字化基础设施技术简介
  7. 接手了一座年收入 2000 万美元的“屎山”,我到底该重写还是跳槽?
  8. 7-2 三足鼎立 (25 分)
  9. 编程计算1 * 2 * 3+3 * 4 * 5+5 * 6 * 7+...+99 * 100 * 101的值。
  10. java图片旋转代码