【leetcode】【Easy】【448. Find All Numbers Disappeared in an Array】【正负位标记】【Array】
2017-01-18 15:06
435 查看
problem link
code:用负来标记出现过的,因为题目要求不能有extra space,复杂度为O(n),所以只能操作原数组,另外可以利用的是数组的下标。
public class Solution {
public List<Integer> findDisappearedNumbers(int[] nums) {
for(int i=0;i<nums.length;i++){
nums[Math.abs(nums[i])-1]=-Math.abs(nums[Math.abs(nums[i])-1]);
}
List<Integer> res=new ArrayList<Integer>();
for(int i=0;i<nums.length;i++){
if(nums[i]>0){
res.add(i+1);
}
}
return res;
}
}
code:用负来标记出现过的,因为题目要求不能有extra space,复杂度为O(n),所以只能操作原数组,另外可以利用的是数组的下标。
public class Solution {
public List<Integer> findDisappearedNumbers(int[] nums) {
for(int i=0;i<nums.length;i++){
nums[Math.abs(nums[i])-1]=-Math.abs(nums[Math.abs(nums[i])-1]);
}
List<Integer> res=new ArrayList<Integer>();
for(int i=0;i<nums.length;i++){
if(nums[i]>0){
res.add(i+1);
}
}
return res;
}
}
相关文章推荐
- LeetCode Top Interview Questions Easy Collections 总结一(Array)
- LeetCode-88-Merge Sorted Array(归并)-Easy
- [array] leetCode-1-Two Sum-Easy
- [array] leetCode-27. Remove Element - Easy
- leetcode 26[easy]--- Remove Duplicates from Sorted Array
- [Leetcode 26, easy] Remove Duplicates from Sorted Array
- LeetCode-Easy部分中标签为Array的所有题目
- leetcode 697[easy]---Degree of an Array
- LeetCode 26. Remove Duplicates from Sorted Array——python(easy)
- LeetCode-Easy刷题(18) Merge Sorted Array
- 【Leetcode-easy-448】Find All Numbers Disappeared in an Array
- 【leetcode】Array——easy(java)
- 【Leetcode】【Easy】Merge Sorted Array
- [array] leetcode - 53. Maximum Subarray - Easy
- leetcode array数组刷题easy组:561:Array Partition I
- Leetcode 26. Remove Duplicates from Sorted Array (Easy) (cpp)
- LeetCode_Array_Easy
- Leetcode 108. Convert Sorted Array to Binary Search Tree(Easy)
- 【LeetCode】108.Convert Sorted Array to Binary Search Tree(Easy)解题报告
- LeetCode-26-Remove Duplicates from Sorted Array(排序/内部排序)-Easy