leetCode刷题归纳-Array(448. Find All Numbers Disappeared in an Array Add to List)
来源:互联网 发布:美工算平面设计吗 编辑:程序博客网 时间:2024/05/22 09:39
很有意思的思路,采用标记负值的方法解决,如果出现过就标记为负数,最后检测正数的位置,其索引值对应的就是没有出现过的位置。
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]
解决代码:
class Solution {public: vector<int> findDisappearedNumbers(vector<int>& nums) { int len=nums.size(); for (int i=0;i<len;i++){ int m=abs(nums[i])-1;//关于这个地方为什么一定要加绝对值,因为前面的步骤可能把正值变成了负值,索引会错误 nums[m]=nums[m]>0?-nums[m]:nums[m]; } vector<int> result; for (int i=0;i<len;i++){ if (nums[i]>0) result.insert(result.end(),i+1); } return result; }};
0 0
- leetCode刷题归纳-Array(448. Find All Numbers Disappeared in an Array Add to List)
- LeetCode-Array-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
- 【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
- 【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
- 凯撒密码
- Error:The SDK Build Tools revision (23.0.3) is too low for project ':app'. Minimum required is 25.0.
- Intellij IDEA十大快捷键
- RBAC基础框架搭建
- java同步:Lock
- leetCode刷题归纳-Array(448. Find All Numbers Disappeared in an Array Add to List)
- 利用“4+1”视图建模方法进行软件架构设计
- Intellij IDEA 如何添加tab缩进
- 安卓开发环境搭建和第一个hello Android程序
- HttpClient总结
- NVIDIA Jetson TX1 系列开发教程之一:开箱测试
- [HDU2767]Proving Equivalences(Tarjan缩点)
- Unity3D学习:制作背包换装备UI
- HDU 1171 Big Event in HDU(背包)