题目
解决方法
vector<int> findDisappearedNumber(vector<int>& nums){
vector<int> res;
int len = size(nums);
for(int i=0; i < len; i++){
int m = abs(nums[i]) - 1;
nums[m] = nums[m] ? -nums[m] : nums[m];
}
for(int i=0; i < len; i++){
if(nums[i] > 0){
res.push_back(i+1);
}
return res;
}
}
def findDisappearedNumbers(self, nums: List[int]) -> List[int]:
res = []
nums_set = set(nums)
for i in range(1, len(nums)+1):
if i not in nums_set:
res.append(i)
return res
复杂度分析
C++
O ( n ) \mathcal{O}(n) O(n)
Python
O ( n 2 ) \mathcal{O}(n^2) O(n2)