leetcode 442. 数组中重复的数据 java
题目:
给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次。
找到所有出现两次的元素。
你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗?
示例:
输入: [4,3,2,7,8,2,3,1]输出: [2,3]
解题:
class Solution {public List<Integer> findDuplicates(int[] nums) {List<Integer> res = new ArrayList<>();if (nums == null || nums.length == 0) return res;for (int i = 0; i < nums.length; i++) {int index = Math.abs(nums[i]) - 1;if (nums[index] > 0) nums[index] *= -1; //用负号表示已经有一次了else {res.add(index + 1); //index + 1 == Math.abs(nums[i]) }}return res;} }
转载于:https://www.cnblogs.com/yanhowever/p/10896984.html
leetcode 442. 数组中重复的数据 java相关推荐
- angularjs 元素重复指定次数_[LeetCode] 442. 数组中重复的数据
[LeetCode] 442. 数组中重复的数据 题目链接: https://leetcode-cn.com/problems/find-all-duplicates-in-an-array 难度:中 ...
- 努力前端【LeetCode-10】448. 找到所有数组中消失的数字 442. 数组中重复的数据(中等) 41. 缺失的第一个正数(困难) [鸽笼原理,数组,Map,类似No.645]
文章目录 题目描述-448 一.哈希Map 二.空间复杂度的优化--鸽笼原理 三.总结 题目描述-442 一.还是hashMap 二.继续鸽笼原理 题目描述-41 一.基础方案 二.数组模拟Map 题 ...
- <力扣刷题>442. 数组中重复的数据
前言 人生如逆旅,我亦是行人.----苏轼<临江仙·送钱穆父> 题: 给你一个长度为 n 的整数数组 nums ,其中 nums 的所有整数都在范围 [1, n] 内,且每个整数出现 一次 ...
- leetcode 442. Find All Duplicates in an Array | 442. 数组中重复的数据(位运算)
题目 https://leetcode.com/problems/find-all-duplicates-in-an-array/ 题解 没想出来,看了评论之后写的,一语点醒. 思路就是,用num对应 ...
- 442. 数组中重复的数据
给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次. 找到所有出现两次的元素. 你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题 ...
- 【剑指offer】面试题03:数组中重复的数字(java)
在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重复的数字. 示例 1: ...
- java数组中重复_数组中重复的数字 java
今天开始用java写算法题目. 题目大意,一个长度为 n 的数组,里面存放的数组是 0 到 n-1,数组中有重复数字的话就输出这个数字. 思路:将每个 nums[i] 的值 移动到他原来应该属于的地方 ...
- Array.splice()--删除数组中重复的数据
splice方法 从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素. 用法 my_array.splice(start, deleteCount [, val ...
- leetcode442. 数组中重复的数据
给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次. 找到所有出现两次的元素. 你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题 ...
- Leetcode--442. 数组中重复的数据
给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次. 找到所有出现两次的元素. 你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题 ...
最新文章
- JavaMoney规范(JSR 354)与对应实现解读
- springboot 日志 log4j
- Visual Studio 2012 调试程序加载缓慢,提示正在下载符号
- Java带有运算符的字符串转换为Long型
- 【转】先说IEnumerable,我们每天用的foreach你真的懂它吗?
- 这些年遇到的坑爹问题汇总
- REM,你这磨人的小妖精!
- 先序、中序确定二叉树
- 60秒验证码倒计时重置
- python变量和对象的关系_Python变量与对象引用的区别
- ccfb类会议有哪些_CCF推荐国际学术会议
- Ubuntu虚拟机实现与主机之间复制粘贴
- 14家互联网公司裁员(1-2月裁员清单)
- 用U880做热点 使电脑上网(绑定usb和便携式wlan热点)
- 关于“应用程序正常初始化(0xc0150002)失败”问题的解决方案
- Linux 运维职业困惑?给你史上最全互联网 Linux 工作规划!
- php判断浏览器语言国内外,PHP判断浏览器语言
- 组织级项目管理和项目集、项目组合管理
- python画圆形螺旋线_【Python基础】利用 Python 搞定精美网络图!
- MPU6050开发 -- 测试程序分析
热门文章
- Tensorflow相关学习笔记(一)GPU处理相关
- (备忘)Java web项目迁移到Centos7中验证码无法显示
- IP通信基础 3月6日
- Redies安装,修配置,设置密码,
- 51nod 1050 循环数组最大子段和 单调队列优化DP
- PLAY2.6-SCALA(五) Action的组合、范围的设置以及错误的处理
- MyBatis学习(一):简单的运行
- 对Ajax返回的json数据做处理报错
- ubuntu-12.04.5-desktop-amd64.iso:ubuntu-12.04.5-desktop-amd64:安装Oracle11gR2
- NYOJ4——ASCII码排序