leetcode-只出现一次的数字 III-42
题目要求
给定一个整数数组 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相关推荐
- Java实现 LeetCode 260 只出现一次的数字 III(三)
260. 只出现一次的数字 III 给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次. 找出只出现一次的那两个元素. 示例 : 输入: [1,2,1,3,2,5] 输出 ...
- LeetCode 260. 只出现一次的数字 III(位运算)
1. 题目 给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次. 找出只出现一次的那两个元素. 示例 :输入: [1,2,1,3,2,5] 输出: [3,5] 注意: 结 ...
- leetcode 260. Single Number III | 260. 只出现一次的数字 III(位运算:分组异或)
题目 https://leetcode.com/problems/single-number-iii/ 题解:分组异或 参考1:讨论区题解 you know you can eliminate dou ...
- Leetcode 260. 只出现一次的数字 III 解题思路及C++实现
解题思路: 这道题真有点玄乎,请看:https://blog.csdn.net/smile_watermelon/article/details/47750249 先mark,之后再仔细研究. cla ...
- Leetcode 260. 只出现一次的数字 III
原题链接 解法:异或操作 vector<int> findNumsAppearOnce(vector<int>& nums) {int eO = 0, eOhasOne ...
- leetcode-260.只出现一次的数字 III 解法
给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次. 找出只出现一次的那两个元素. 示例 : 输入: [1,2,1,3,2,5] 输出: [3,5] 注意: 结果输出的顺 ...
- Leecode 260. 只出现一次的数字 III——Leecode每日一题系列
今天是坚持每日一题打卡的第六天 题目描述 给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次. 找出只出现一次的那两个元素.你可以按 任意顺序 返回答案. 进阶:你的算法 ...
- 260. 只出现一次的数字 III 【位运算】
https://leetcode-cn.com/problems/single-number-iii/ 首先成对的都会删除.只会剩下两个不是一对的数. 首先不难看出 两个数不同,异或后一定会有一个1. ...
- Leetcode-260. 只出现一次的数字 III
题目链接:Leetcode260 给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次. 找出只出现一次的那两个元素. 示例 : 输入: [1,2,1,3,2,5] 输出: ...
- leetcode 只出现一次的数字
16 / 16 个通过测试用例 状态:通过 执行用时:12 ms 内存消耗:40.8 MB 提交时间:6 月,3 周之前 class Solution {public int singleNumber ...
最新文章
- windows系统下的Qt安装
- The Elements of C# Style -Naming
- Sumatra项目用OpenCL提高了Java的性能
- MATLAB中K-means函数表达方式
- 如何用VC++开发读取网卡MAC地址的程序
- 虚拟化+云服务器,虚拟化+云服务器
- python基本判断语句_python两种简洁的条件判断语句写法
- 为了战略发展,Adobe推出自己浏览器?
- 全站黑白悼念代码,几行代码全网站黑白色
- AD域、Windows AD域管理功能大全
- 《货币金融学》期末复习题
- react使用@tweenjs/tween.js实现数字动态增长
- Mqtt Retained Message(保留消息)
- MySQL本天早上8点到明早8点_早上8点是什么时辰
- Python爬虫入门教程 62-100 30岁了,想找点文献提高自己,还被反爬了,Python搞起,反爬第2篇
- JS逆向:猿人学爬虫比赛第九题详细题解
- Golang Append()详解
- 20230107报警器的测试
- oracle number存储小数
- 如何选择MySQL中除一列外的所有列
热门文章
- ROE指标的正确使用方法
- 运维思索:系统监控体系
- 02 从亚马逊的实践,谈分布式系统的难点
- 报表工具花钱or开源?我对比了这6个工具
- SAT语法之指示代词知识点
- 企业数字化基础设施技术简介
- 接手了一座年收入 2000 万美元的“屎山”,我到底该重写还是跳槽?
- 7-2 三足鼎立 (25 分)
- 编程计算1 * 2 * 3+3 * 4 * 5+5 * 6 * 7+...+99 * 100 * 101的值。
- java图片旋转代码