LeetCode如何查只出现一次的数字
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要介绍LeetCode如何查只出现一次的数字,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!题目:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两
千家信息网最后更新 2025年12月02日LeetCode如何查只出现一次的数字
这篇文章主要介绍LeetCode如何查只出现一次的数字,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
题目:
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?
思路:
上次做了两数之和的题,对hash印象还深,看到这个题的第一眼就想到hash。
遍历数组,以当前值为key,若当前表中含有该数字,value为2;若不含有,value为1,遍历完后,找表中value值为1的数字,若存在,则返回对应key;否则,不存在这样的数字。
空间复杂度是O(n),不满足不使用额外空间的题目要求,但我想不出什么方法辣,哭了......;
代码:
class Solution { public int singleNumber(int[] nums) { //给定数组非空 Map map = new HashMap(); for(int i:nums) { if(map.containsKey(i)) { map.put(i,2); } else map.put(i,1); } for(int j:map.keySet()) { if(map.get(j) == 1) return j; } return -1; } } demo:
输入:[2,2,1] 输出:1
输入:[4,1,2,1,2] 输出:4
运行结果:

官方解答
解
异或位运算
性质1:如果对0和二进制位做异或运算,得到的仍是这个二进制位。
性质2:如果我们对相同的二进制位做异或运算,返回的结果是0。
性质3:异或运算满足交换律和结合律。
思路
代码
class Solution { public int singleNumber(int[] nums) { int single = 0; for (int num : nums) { single ^= num; } return single; }}复杂度分析
时间复杂度:O(n)
空间复杂度:O(1)
复习
位运算虽然不是很常见,但是适当的使用可以大量减少开销。
Java中常用的位运算
&:按位与。
|:按位或。
~:按位非。
^:按位异或。
按位与
| 操作数1 | 0 | 0 | 1 | 1 |
|---|---|---|---|---|
| 操作数2 | 0 | 1 | 0 | 1 |
| 按位与 | 0 | 0 | 0 | 1 |
按位或
| 操作数1 | 0 | 0 | 1 | 1 |
|---|---|---|---|---|
| 操作数2 | 0 | 1 | 0 | 1 |
| 按位或 | 0 | 1 | 1 | 1 |
按位非
| 操作数 | 0 | 1 |
|---|---|---|
| 按位或 | 1 | 0 |
按位异或
| 操作数1 | 0 | 0 | 1 | 1 |
|---|---|---|---|---|
| 操作数2 | 0 | 1 | 0 | 1 |
| 按位异或 | 0 | 1 | 1 | 0 |
以上是"LeetCode如何查只出现一次的数字"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
操作数
运算
数字
复杂
复杂度
空间
二进制
元素
性质
数组
代码
内容
思路
时间
篇文章
结果
题目
输入
输出
相同
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库中真子集
中学英语教学案例数据库
数据库分离sql
小学生网络安全宣传教育资料
网络安全与无线电手抄报
软件开发周期的例子
如何设置主机与服务器的连接
为政府服务的网络安全的盈利模式
网络安全英语专业词汇
网络安全装置入什么科目
jquery合并数据库
数据库筛选同样成绩一样的
数据库保存到新表
郴州网络软件开发应用制作公司
通达信无法连接行情服务器ip
复制文件到服务器
搭建服务器管理用户机
上海机械网络技术试验设备
网络安全法对哪些行为处罚
虚拟服务器管理软件费用
济南培训软件开发平台
软件开发 硬件环境
工程应用软件开发
服务器管理器仪表
网络安全电脑病毒
哈工大机器人上海互联网科技
信息化软件开发程序
数据库说课稿
百度盘服务器有点忙
服务器不允许匿名