【Leetcode刷题篇】leetcode136 只出现一次的数字
发布日期:2021-06-29 15:34:06
浏览次数:3
分类:技术文章
本文共 904 字,大约阅读时间需要 3 分钟。
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
说明:
你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?
示例 1:
输入: [2,2,1] 输出: 1
示例 2:
输入: [4,1,2,1,2] 输出: 4
解题思路1:用hashmap或者hashset来做
// 用hashmap来做 public ListfindDisappearedNumbers(int[] nums) { HashMap hashmap = new HashMap<>(); for(int num:nums) { hashmap.put(num, true); } ArrayList res = new ArrayList<>(); //对hashmap遍历 for(int i=1;i<=nums.length;i++) { if(!hashmap.containsKey(i)) { res.add(i); } } return res; }
解题思路2:在原数组上直接修改
//对其原地修改 public ListfindDisappearedNumbers_2(int[] nums) { // 遍历的时候对其修改 for(int i=0;i 0) { nums[newIndex]*=-1; } } // 对其再次遍历 ArrayList res = new ArrayList<>(); for (int i = 1; i <= nums.length; i++) { if (nums[i - 1] > 0) { res.add(i); } } return res; }
转载地址:https://codingchaozhang.blog.csdn.net/article/details/110409977 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月26日 16时09分44秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
C/C++中二维数组作函数形参时,调用函数时,可传递的实参类型的小结
2019-04-29
cvGetSubRect与cvMul用法
2019-04-29
opencv图像处理梯度边缘和角点
2019-04-29
Caffe源码中blob文件分析
2019-04-29
OpenCV 图像采样 插值 几何变换
2019-04-29
图像处理-仿射变换 AffineTransform
2019-04-29
图像二值化----otsu(最大类间方差法、大津算法)
2019-04-29
图像二值化----otsu(最大类间方差法、大津算法)(二)
2019-04-29
OpenCV编程案例:使用轮廓函数检测连通区域
2019-04-29
opencv使用cvFindContours提取联通域
2019-04-29
C++中MessageBox的常见用法
2019-04-29
ordfilt2函数功能说明
2019-04-29
在图像变换中用最小二乘法求解仿射变换参数
2019-04-29
软件包应用分享|基于RT-Thread的百度语音识别(一)
2019-04-29
12月8日 RCEA - RT-Thread能力认证考试考前通知
2019-04-29
论坛热贴 | RT-Thread音频驱动开发(一)
2019-04-29
基于 Keil MDK 移植 RT-Thread Nano
2019-04-29
【报名截至今晚】12月14日深圳嵌入式与音频开发专题会议预告
2019-04-29
移植 RT-Thread Nano 到 RISC-V
2019-04-29
软件包应用分享|基于RT-Thread的百度语音识别(二)
2019-04-29