c_cpp 448.查找数组中消失的所有数字
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 448.查找数组中消失的所有数字相关的知识,希望对你有一定的参考价值。
class Solution {
public:
vector<int> findDisappearedNumbers(vector<int>& nums) {
vector<int> array;
vector<int> hash;
hash.resize(nums.size()+1);
for(int i = 0;i < nums.size();++i)
hash[nums[i]]++;
for(int i = 1;i <= nums.size();++i)
if(!hash[i])
array.push_back(i);
return array;
}
};
class Solution {
public:
vector<int> findDisappearedNumbers(vector<int>& nums) {
vector<int> array;
set<int> temp;
for(int i = 0;i < nums.size();++i)
temp.insert(nums[i]);
for(int i = 1;i <= nums.size();++i)
if(!temp.count(i))
array.push_back(i);
return array;
}
};
//参考Discuss写的
//复杂度还是很高 Runtime: 128 ms, faster than 44.12%
class Solution {
public:
vector<int> findDisappearedNumbers(vector<int>& nums) {
vector<int> array;
for(int i = 1;i <= nums.size();++i){
int index = abs(nums[i-1]) - 1;
if(nums[index] > 0){
nums[index] = -nums[index];
}
}
for(int i = 0;i < nums.size();++i){
if(nums[i] > 0)
array.push_back(i+1);
}
return array;
}
};
以上是关于c_cpp 448.查找数组中消失的所有数字的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode 448.找到所有数组中消失的数字
LeetCode448-找到所有数组中消失的数字(原地数组)
448. 找到所有数组中消失的数字
448. 找到所有数组中消失的数字
[LeetCode] 448. 找到所有数组中消失的数字 ☆
[LeetCode] 448. 找到所有数组中消失的数字(思维)