给定一个整数数组 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> list=new ArrayList<>();for(int i=0;i<nums.length;i++)//将数字放在对应的数组序号上{while (true){if(nums[nums[i]-1]==nums[i]) break;//当目标位置已经被占了int t=nums[i];//交换nums[i]=nums[nums[i]-1];nums[t-1]=t;}}for(int i=0;i<nums.length;i++){if(i+1!=nums[i])//检查数字和所在索引不对应的list.add(nums[i]);}return list;}
}

leetcode442. 数组中重复的数据相关推荐

  1. Leetcode--442. 数组中重复的数据

    给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次. 找到所有出现两次的元素. 你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题 ...

  2. angularjs 元素重复指定次数_[LeetCode] 442. 数组中重复的数据

    [LeetCode] 442. 数组中重复的数据 题目链接: https://leetcode-cn.com/problems/find-all-duplicates-in-an-array 难度:中 ...

  3. 努力前端【LeetCode-10】448. 找到所有数组中消失的数字 442. 数组中重复的数据(中等) 41. 缺失的第一个正数(困难) [鸽笼原理,数组,Map,类似No.645]

    文章目录 题目描述-448 一.哈希Map 二.空间复杂度的优化--鸽笼原理 三.总结 题目描述-442 一.还是hashMap 二.继续鸽笼原理 题目描述-41 一.基础方案 二.数组模拟Map 题 ...

  4. <力扣刷题>442. 数组中重复的数据

    前言 人生如逆旅,我亦是行人.----苏轼<临江仙·送钱穆父> 题: 给你一个长度为 n 的整数数组 nums ,其中 nums 的所有整数都在范围 [1, n] 内,且每个整数出现 一次 ...

  5. Array.splice()--删除数组中重复的数据

    splice方法 从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素. 用法 my_array.splice(start, deleteCount [, val ...

  6. 442. 数组中重复的数据

    给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次. 找到所有出现两次的元素. 你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题 ...

  7. leetcode 442. Find All Duplicates in an Array | 442. 数组中重复的数据(位运算)

    题目 https://leetcode.com/problems/find-all-duplicates-in-an-array/ 题解 没想出来,看了评论之后写的,一语点醒. 思路就是,用num对应 ...

  8. 请编写fun()函数,函数的功能是删去一维数组中相同的数据在一起出现的数,相同的数只保留一个

    <程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p143 7.1.2 上级实训内容 [实训内容13]请编写fun()函数,函数的功能是删去一维数组中相同 ...

  9. leetcode-找出数组中重复的数字

    找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重 ...

最新文章

  1. 库卡机器人坐标手势_美的、格力、娃哈哈......那些跨界的机器人玩家现在怎么样了?...
  2. 计算机应用基础电大答案2015,2015电大形考计算机应用基础_Windows7操作系统_客观题(答案).doc...
  3. 怎么提高python能力_怎样提高python分析数据能力?
  4. JavaScript事件处理的例子:事件捕捉和冒泡 - event capture and bubble
  5. LeetCode--palindrome-number回文数
  6. 2016我的程序员总结
  7. kotlin_Kotlin弦
  8. 2022图片在线加水印源码
  9. linux配置mac地址命令是什么,Linux环境下如何配置IP地址、MAC地址
  10. 回炉重造之JAVA---枚举
  11. 【阅读笔记】使用决策树预测泰坦尼克号幸存者实例 - scikit-learn机器学习
  12. Win10 x64 安装Eplan P8 2.7 小结
  13. 图解RAM结构与原理,系统内存的Channel、Chip与Bank
  14. 菲尔博士的三十六交际方式
  15. Python三方库:RabbitMQ基本使用
  16. 相位式激光测距法中相位产生原理
  17. 纯CSS画的基本图形(矩形、圆形、三角形、多边形、爱心、八卦等)
  18. 在C语言中使用Esc退出的程序,C如何使用ESC按钮终止我的程序
  19. Arcgis api for JavaScript 4.X 学习——图层加载(要素图层、栅格图层、切片图层)
  20. 凤凰系统服务器价格,说一下我安装凤凰系统的一些经验

热门文章

  1. Linux进程间通信:共享内存与管道
  2. 记录一下自己的VScode插件
  3. linux内核netfilter模块分析之:HOOKs点的注册及调用
  4. echo(),print(),print_r(),var_dump()的区别
  5. python里的apply,applymap和map的区别
  6. 锁大全与 GDB调试
  7. SPRING IN ACTION 第4版笔记-第二章-002-@ComponentScan、@Autowired的用法
  8. 通过mod_limitipconn模块来限制apache的并发连接数
  9. docker安装配置gitlab详细过程
  10. iview日期控件,双向绑定日期格式