剑指Offer - 面试题56 - I. 数组中数字出现的次数(异或,分组)

1. 题目

一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。

要求时间复杂度是O(n),空间复杂度是O(1)

示例 1:
输入:nums = [4,1,4,6]
输出:[1,6][6,1]示例 2:
输入:nums = [1,2,10,4,1,4,3,3]
输出:[2,10][10,2]限制:
2 <= nums <= 10000

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/shu-zu-zhong-shu-zi-chu-xian-de-ci-shu-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

类似题目:

LeetCode 136. 只出现一次的数字(异或^)
LeetCode 137. 只出现一次的数字 II(位运算)

2. 解题

  • 对数组所有的值全部异或,得到想要求的两个数的异或值
  • 找到该异或值为1的bit
  • 用该bit将数组的值分成两组来,分别求取异或值,即得2个唯一的数
class Solution {
public:vector<int> singleNumbers(vector<int>& nums) {int i, XOR = 0;for(i = 0; i < nums.size(); ++i)XOR ^= nums[i];for(i = 0; i < 32; ++i){if(XOR & (1<<i))break;}int a = 0, b = 0;for(auto& n : nums){if(n&(1<<i))a ^= n;elseb ^= n;}return {a, b};}
};

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/477079.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自动驾驶技术简史

文 | Bernard_Han自动驾驶是一个最近在产业界炙手可热的关键词。无论是与人工智能相关的顶级会议还是各大造车厂商甚至各大投资商都为这个成长初期的蓝海产业下注了美好的未来。但是“汽车自动化”的理论与自动驾驶不同&#xff0c;提出至今已有近百年的历史。从最初的遥控到如…

你是什么时候对深度学习失去信心的?

文 | 霍华德源 | 知乎最近几天在知乎上有个问题火了&#xff1a;你是什么时候对深度学习失去信心的&#xff1f;在此推荐一下知乎大V霍华德的回答&#xff0c;以下为原回答。对于深度学习的现状&#xff0c;工业界还是很清楚的。如果没有变革性的突破&#xff0c;弱人工智能时代…

OpenTSDB 造成 Hbase 整点压力过大问题的排查和解决

业务背景 OpenTSDB 是一款非常适合存储海量时间序列数据的开源软件&#xff0c;使用 HBase 作为存储让它变的非常容易扩展。我们在建设美团性能监控平台的过程中&#xff0c;每天需要处理数以亿计的数据&#xff0c;经过几番探索和调研&#xff0c;最终选取了 OpenTSDB 作为数据…

LintCode 183. 木材加工(二分查找)

1. 题目 有一些原木&#xff0c;现在想把这些木头切割成一些长度相同的小段木头&#xff0c;需要得到的小段的数目至少为 k。当然&#xff0c;我们希望得到的小段越长越好&#xff0c;你需要计算能够得到的小段木头的最大长度。 样例 1 输入: L [232, 124, 456] k 7 输出: …

AC算法在美团上单系统的应用

1.背景 在美团&#xff0c;为了保证单子质量&#xff0c;需要对上单系统创建的每一个产品进行审核。为了提高效率&#xff0c;审核人员积累提炼出了一套关键词库&#xff0c;先基于该词库进行自动审核过滤&#xff0c;对于不包括这些关键词的产品信息不再需要进行人工审核。因此…

LintCode 600. 包裹黑色像素点的最小矩形(BFS)

1. 题目 一个由二进制矩阵表示的图&#xff0c;0 表示白色像素点&#xff0c;1 表示黑色像素点。 黑色像素点是联通的&#xff0c;即只有一块黑色区域。 像素是水平和竖直连接的&#xff0c;给一个黑色像素点的坐标 (x, y) &#xff0c;返回囊括所有黑色像素点的矩阵的最小面积…

浙大、阿里提出DictBERT,字典描述知识增强的预训练语言模型

文 | 刘聪NLP源 | NLP工作站写在前面大家好&#xff0c;我是刘聪NLP。今天给大家带来一篇IJCAI2022浙大和阿里联合出品的采用对比学习的字典描述知识增强的预训练语言模型-DictBERT&#xff0c;全名为《Dictionary Description Knowledge Enhanced Language Model Pre-training…

LintCode 207. 区间求和 II(线段树)

1. 题目 在类的构造函数中给一个整数数组, 实现两个方法 query(start, end) 和 modify(index, value): 对于 query(start, end), 返回数组中下标 start 到 end 的 和。对于 modify(index, value), 修改数组中下标为 index 上的数为 value. 样例1 输入: [1,2,7,8,5] [query(0…

深入解析String#intern

在 JAVA 语言中有8中基本类型和一种比较特殊的类型String。这些类型为了使他们在运行过程中速度更快&#xff0c;更节省内存&#xff0c;都提供了一种常量池的概念。常量池就类似一个JAVA系统级别提供的缓存。 8种基本类型的常量池都是系统协调的&#xff0c;String类型的常量池…

想通这点,治好 AI 打工人的精神内耗

文 | 天于刀刀受到疫情影响&#xff0c;今年公司的校招生报道日还未到来&#xff0c;23 年的秋招提前批就已经是如火如荼地开展。而诸神黄昏算法岗&#xff0c;作为招聘中最靓眼的仔&#xff0c;简历门槛早已是硕士打底博士起步&#xff0c;项目竞赛多多益善的情况了。面临着今…

DHL

有句俗语谓&#xff1a;“不看不知道&#xff0c;一看吓一跳”&#xff0c;这次通过“中外运-敦豪”的一次快递&#xff0c;亲身感受到这种“吓一跳”的滋味。 MS 总部从 1 月 26 日寄出 MVP Award 快递包之后&#xff0c;在随后的电子邮件中给出了每个人的 DHL 快件追踪号&…

数据结构--树--线段树(Segment Tree)

文章目录1. 概念2. 建树3. 查询4. 修改5. 完整代码及测试上图 from 熊掌搜索 类似数据结构&#xff1a;树状数组 1. 概念 线段树是一种二叉树&#xff0c;是用来表示一个区间的树&#xff1a; 常常用来查询区间的&#xff1a;和、最小值、最大值树结点中存放不是普通二叉树的…

神经网络可视化有3D版本了,美到沦陷!(已开源)

源 |量子位做计算机视觉&#xff0c;离不开CNN。可是&#xff0c;卷积、池化、Softmax……究竟长啥样&#xff0c;是怎样相互连接在一起的&#xff1f;对着代码凭空想象&#xff0c;多少让人有点头皮微凉。于是&#xff0c;有人干脆用Unity给它完整3D可视化了出来。还不光是有个…

CentOS6上Hadoop集群中服务器cpu sys态异常的定位与解决

问题现象 在zabbix系统中&#xff0c;对Hadoop集群的历史监控数据分析时&#xff0c;发现在执行大Job任务时&#xff0c;某些服务节点的cpu sys态很高&#xff1b;具体以hadoop_A服务节点为例&#xff0c;在10:15-10:40这个时间段&#xff0c;cpu user态为60%&#xff0c;而sys…

偶也Blog了

欢迎大家和我交流…………转载于:https://www.cnblogs.com/dsclub/archive/2004/06/18/16753.html

LintCode 1692. 组队打怪(田忌赛马,二分查找)

1. 题目 你现在有n个英雄&#xff0c;每个英雄的战斗力为 atk1,你要用这些英雄去对付n个怪物&#xff0c;每个怪物的战斗力为atk2。 在一场战斗中&#xff0c;你需要安排每个英雄分别与一个怪兽战斗&#xff0c;如果英雄战斗力高于怪兽&#xff0c;那个怪兽就会被击杀&#xf…

谷歌搜索,全球宕机??

文 | 好困源 | 新智元忽然之间&#xff0c;谷歌搜索&#xff0c;挂了。美东时间周一晚上9点&#xff08;北京时间周二早上9点&#xff09;左右&#xff0c;有不少用户突然发现自己上不去谷歌了。对于这次谷歌的突然宕机&#xff0c;网友们完全没有任何的心理准备。「谷歌停止工…

.NET建模

.NET建模 Deborah Melewski, Jack Vaughan[2004/1/1] 建模和软件设计又将迎来新一波的高峰。UML和模型驱动架构MDA目前在业界越发引人注目&#xff0c;清晰地进行前置设计&#xff08;design up front&#xff0c;译者注&#xff1a;这是过去批判得比较多的&#xff0c;是瀑布…

基于Flume的美团日志收集系统(一)架构和设计

背景 美团的日志收集系统负责美团的所有业务日志的收集&#xff0c;并分别给Hadoop平台提供离线数据和Storm平台提供实时数据流。美团的日志收集系统基于Flume设计和搭建而成。 《基于Flume的美团日志收集系统》将分两部分给读者呈现美团日志收集系统的架构设计和实战经验。 第…

LintCode 1690. 朋友推荐(二分插入)

1. 题目 某交友网站会给除了第一个用户以外的每个新注册的用户推荐一位之前已经注册过并且性格值和他最相近的用户&#xff0c;如果有多人满足条件则选择性格值较小的。 给定数组val[]表示按时间顺序注册的 n 位用户的性格值&#xff0c;输出一个大小为 n-1 的数组&#xff0…