【剑指OFFER】56 - I. 数组中数字出现的次数
发布日期:2021-06-29 19:47:13
浏览次数:3
分类:技术文章
本文共 1037 字,大约阅读时间需要 3 分钟。
题目:
一个整型数组 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.length <= 10000
答案:
解法一:class Solution { public int[] singleNumbers(int[] nums) { int[] num = new int[2]; int index = 0; Arrays.sort(nums); for(int i = 0; i < nums.length - 1; i++){ if(nums[i] != nums[i + 1]){ num[index] = nums[i]; index++; }else i++; } if(num[1] == 0) num[1] = nums[nums.length - 1]; return num; }}
解法二:
class Solution { public int[] singleNumbers(int[] nums) { int[] num = new int[2]; Setset = new HashSet<>(); for(int n : nums){ if(set.contains(n) == false){ set.add(n); }else set.remove(n); } Iterator i = set.iterator(); num[0] = (int)i.next(); num[1] = (int)i.next(); return num; }}
转载地址:https://darkness.blog.csdn.net/article/details/115616054 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月06日 18时04分49秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
FFmpeg常用基本命令
2019-04-30
MPG(MPEG2 Program Stream)格式解析
2019-04-30
Gstreamer学习笔记(4):pad定义、连接、流动
2019-04-30
Gstreamer 学习笔记(3):GstElement状态
2019-04-30
Gstreamer学习笔记(9):message, even, signal区别
2019-04-30
Gstreamer 学习笔记(10):Gstvideodecoder
2019-04-30
Gstreamer学习笔记(11):typefind功能流程简单分析
2019-04-30
在MPEG之前
2019-04-30
MPEG-1
2019-04-30
MPEG-1中I、B、P帧的基本编码原理
2019-04-30
MPEG-2
2019-04-30
MPEG-2 数据位流与视像质量可变编码
2019-04-30
H.264/AVC简介
2019-04-30
H.264/AVC 的分层结构与画面划分
2019-04-30
H.264/AVC 中的宏块、片、帧
2019-04-30
H.264/AVC 三种配置和帧内预测
2019-04-30
H.264/AVC 帧间预测
2019-04-30
H.264/AVC 的各大主流编解码器
2019-04-30
【H264/AVC 句法和语义详解】(一):句法元素分层结构
2019-04-30
【H.264/AVC 句法和语义详解】(二):h264码流格式与NALU详解一
2019-04-30