leetcode_442. Find All Duplicates in an Array 找数组中出现两次的数,正负号标记法
来源:互联网 发布:java a星寻路算法 编辑:程序博客网 时间:2024/05/22 20:29
题目:
Given an array of integers, 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others appear once.
Find all the elements that appear twice in this array.
Could you do it without extra space and in O(n) runtime?
Example:
Input:[4,3,2,7,8,2,3,1]Output:[2,3]
题意:
给定一个整数数组,1≤a[i]≤n(n =数组大小),一些元素出现两次,其他元素出现一次。
查找在此数组中出现两次的所有元素。
你能做它没有额外的空间和在O(n)运行时?
代码:
public class Solution {
public List<Integer> findDuplicates(int[] nums) {
// List res = new ArrayList();
List res = new LinkedList(); //定义list类型,用于返回
int n = nums.length;
int i = 0;
for(i=0; i<n; i++){
int temp = Math.abs(nums[i]); //取出原始的nums[i]对应的数
if( nums[temp-1]<0 ){ //判断这个数作为下标,在nums中的数是否为负,如果是负,则表示之前出现过
res.add(temp);
}
else{
nums[temp-1] = -nums[temp-1];
}
}
return res;
}
}
笔记:
1、java定义List类型的数据有两种方式:
List res = new ArrayList();
List res = new LinkedList();
添加一个元素,用res.add(temp); 方法
- leetcode_442. Find All Duplicates in an Array 找数组中出现两次的数,正负号标记法
- leetcode_448. Find All Numbers Disappeared in an Array 找出不在数组中的数,正负号标记法
- 442. Find All Duplicates in an Array--找到数组中出现两次的数字
- Leetcode:442. Find All Duplicates in an Array 找数组中的重复数字
- leetcode Find All Numbers Disappeared in an Array 找数组中消失的元素
- LeetCode--Find All Numbers Disappeared in an Array(找到数组中未出现的数字)
- 448. Find All Numbers Disappeared in an Array 找出数组中消失的数
- 442. Find All Duplicates in an Array
- [LeetCode]Find All Duplicates in an Array
- LeetCode Find All Duplicates in an Array
- Leetcode442. Find All Duplicates in an Array
- 442. Find All Duplicates in an Array
- 442. Find All Duplicates in an Array
- Find All Duplicates in an Array
- 442. Find All Duplicates in an Array
- Leetcode Find All Duplicates in an Array
- 442. Find All Duplicates in an Array
- [Leetcode] Find All Duplicates in an Array
- ffmpeg 安装方法
- Android7.0 bootchart工具使用说明
- 链接记录
- with poi API read & write Excel.xlsx ---Java
- three.js官方手册翻译【相机篇 相机基类camera】
- leetcode_442. Find All Duplicates in an Array 找数组中出现两次的数,正负号标记法
- Spring AOP,AspectJ, CGLIB 有点晕
- EditText 输入字母自动转换为大写
- mongodb控制台CRUD
- DOM
- java知识总结(六)包装类
- Android Activity 和 Fragment 状态保存与恢复的最佳实践
- Bootstrap3 表单-内联单选和多选框
- 最小生成树(Minimum-Spanning-Tree, MST)