2017年4月23日 448. Find All Numbers Disappeared in an Array[easy]
2017-04-23 16:30
78 查看
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:
class Solution {
public:
vector<int> findDisappearedNumbers(vector<int>& nums) {
int max;
vector<int> num;
for(int i=0;i<nums.size();i++)
{
int index = abs(nums[i])-1;
nums[index] = -abs(nums[index]);
}
for(int i=0; i<nums.size(); i++){ //统计num中对应的值没有变成负数的下标,这些下标即为没有在num中出现的数
if(nums[i]>0){
num.push_back(i+1);
}
}
return num;
}
};
规定了时间复杂度和空间复杂度 题目给的是引用传递 所以直接在nums上改
引用了绝对值既能在num上根据数据修改对应下标,又能保存数据。
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 max;
vector<int> num;
for(int i=0;i<nums.size();i++)
{
int index = abs(nums[i])-1;
nums[index] = -abs(nums[index]);
}
for(int i=0; i<nums.size(); i++){ //统计num中对应的值没有变成负数的下标,这些下标即为没有在num中出现的数
if(nums[i]>0){
num.push_back(i+1);
}
}
return num;
}
};
规定了时间复杂度和空间复杂度 题目给的是引用传递 所以直接在nums上改
引用了绝对值既能在num上根据数据修改对应下标,又能保存数据。
相关文章推荐
- Leetcode 121. Best Time to Buy and Sell Stock (Easy) (cpp)
- Leetcode 237. Delete Node in a Linked List (Easy) (cpp)
- Using 1.1, Waiting 2.0 & EasyThread
- Leetcode 263. Ugly Number (Easy) (cpp)
- promises don't come easy
- Leetcode 234. Palindrome Linked List (Easy) (cpp)
- 使用 Easy Struts for Eclipse 开发 Struts(转载)
- LeetCode---4.ListEasy
- Promises Don't Come Easy
- Leetcode 190. Reverse Bits (Easy) (cpp)
- Spring+EasyJWeb+iBatis版j2ee在线购物jpetstore系统源码发布
- Leetcode 111. Minimum Depth of Binary Tree (Easy) (cpp)
- MEPG,DAT转rmvb最好的工具 Easy RealMedia Producer应用要领
- Spring和resteasy集成三种方式
- An easy instance of using the template class in C++
- 题目216 A problem is easy
- a simple and easy way to export grid(grid view) to excel
- 217.leetcode Contains Duplicate(easy)[数组 查重]
- Easy Ajax with jQuery[中文版3]
- 226.leetcode Invert Binary Tree(easy)[二叉树 递归]