LeetCode刷题笔记 442. 数组中重复的数据
2019-08-02 04:26
218 查看
题目描述
给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次。
找到所有出现两次的元素。
你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗?
示例:
输入:
[4,3,2,7,8,2,3,1]
输出:
[2,3]
总结
妙啊,回看的时候一下就想到应该是这个用值当坐标来进行记录的方法
Sample & Demo Code
class Solution { public List<Integer> findDuplicates(int[] nums) { List<Integer> res = new ArrayList<>(); for(int i : nums) { int temp = Math.abs(i); if(nums[temp-1] < 0) res.add(temp); else nums[temp-1] *= -1; } return res; } }
相关文章推荐
- LeetCode 442.数组中重复的数据
- LeetCode | Subsets II(带有重复数据的数组的子集)
- Leetcode442. 通过哈希表找出数组重复元素
- leetcode 442 数组中重复的数据
- leetcode 26 80 删除已排序数组中重复的数据
- (Java) LeetCode 442. Find All Duplicates in an Array —— 数组中重复的数据
- JavaScript判断一个数组里面是否有重复数据(对jqgrid数据进行操作)
- 每天一道LeetCode-----从有序数组中删除重复元素
- js去除数组重复项,删除重复数据的方法
- 移动项目开发笔记(asp.net防止页面刷新引起重复提交数据)
- vba 去除数组重复数据
- php获取数组中重复数据的两种方法
- 使用js,判断数组中是否有重复数据
- 32.1 leetcode - 没有重复数据的全排列
- 算法:查找int数组中重复的数据
- C# 移除数组中重复数据
- 删除已经排好序的数组中的重复元素(个人笔记)
- js 数组删除重复数据,返回新数组
- 数组去除重复数据
- 数据结构与算法分析笔记与总结(java实现)--数组8:数组中重复的数字