Leetcode 448. Find All Numbers Disappeared in an Array 找没有的数 解题报告
来源:互联网 发布:手机拍照赚钱软件 编辑:程序博客网 时间:2024/06/08 01:26
1 解题思想
这道题会给一个长度为n的数组,这个数组里面包含1-n的数字,数字的分布并不均匀,数字可以出现0-n次
所以这个数组中可能并不完全包含1-n中的所有数字,现在需要你在常数时间和不用额外空间的情况下找出那些数字没有出现过
解题思想是,遍历两轮:
1、第一轮将每个数字对应的那个位置的数字变成负值(因为所有数都是正的,这么做不影响后续)
2、第二轮,统计那些没有变成负值的,这些就是没有出现过的数
2 原题
Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others appear once.Find all the elements of [1, n] inclusive that do not appear in this array.Could you do it without extra space and in O(n) runtime? You may assume the returned list does not count as extra space.Example:Input:[4,3,2,7,8,2,3,1]Output:[5,6]
3 AC解
public class Solution { public List<Integer> findDisappearedNumbers(int[] nums) { List<Integer> res = new ArrayList<Integer>(); int n = nums.length; //第一轮,将所有出现过的值对应的位置变为负数 for(int i=0;i<n;i++){ int index = Math.abs(nums[i]) - 1; nums[index] = Math.abs(nums[index]) * -1; } //第二轮,统计不为负数的(就是没出现过的) for(int i=0;i<n;i++){ if(nums[i] > 0) res.add(i+1); } return res; }}
0 0
- Leetcode 448. Find All Numbers Disappeared in an Array 找没有的数 解题报告
- 【LeetCode】Find All Numbers Disappeared in an Array 解题报告
- [Leetcode] 448. Find All Numbers Disappeared in an Array 解题报告
- 448. Find All Numbers Disappeared in an Array | 找出数组没有的数
- LeetCode-Array-448. Find All Numbers Disappeared in an Array
- leetcode Find All Numbers Disappeared in an Array 找数组中消失的元素
- leetcode:448. Find All Numbers Disappeared in an Array
- LeetCode 448. Find All Numbers Disappeared in an Array
- <leetcode>448.Find All Numbers Disappeared in an Array
- [LeetCode] 448. Find All Numbers Disappeared in an Array
- [LeetCode]448. Find All Numbers Disappeared in an Array
- leetcode 448. Find All Numbers Disappeared in an Array
- Leetcode 448. Find All Numbers Disappeared in an Array
- 【LeetCode】 448. Find All Numbers Disappeared in an Array
- 448. [LeetCode]Find All Numbers Disappeared in an Array
- [leetcode] 448. Find All Numbers Disappeared in an Array
- LeetCode 448. Find All Numbers Disappeared in an Array
- Leetcode-448. Find All Numbers Disappeared in an Array
- 前端网页优化的一些问题以及localStorage
- 消息队列设计精要
- 微信小程序调研文档
- 2015百度校招笔试真题以及解析(二)
- C/C++在Linux GCC下的多文件编译执行
- Leetcode 448. Find All Numbers Disappeared in an Array 找没有的数 解题报告
- wxPython的基础教程
- CodeForces 581C - GCD Table(思维)
- hdu1242 Rescue bfs+优先队列
- 新娘和新郞
- ubuntu--pva-faster-rcnn
- 【计算机图形学习】 之 概论
- wxPython中文教程入门实例
- 入职学习(3)--一个程序员的成长史(23)