# 题目：

448. Find All Numbers Disappeared in an Array

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.

645. Set Mismatch

The set `S` originally contains numbers from 1 to `n`. But unfortunately, due to the data error, one of the numbers in the set got duplicated to another number in the set, which results in repetition of one number and loss of another number.

Given an array `nums` representing the data status of this set after the error. Your task is to firstly find the number occurs twice and then find the number that is missing. Return them in the form of an array.

# 思路：

448和645具有相似的思路。两道题的共同点在于：元素的大小均为 [1,n]。448要求找出未出现的数字，645要求找出出现了两次的数字和未出现的数字。

# 代码：

448.

``` 1 class Solution {
2 public:
3     vector<int> findDisappearedNumbers(vector<int>& nums) {
4         vector<int> ans;
5         for (int i = 0; i < (signed) nums.size(); i++) {
6             int index = abs(nums[i]) - 1;
7             if (nums[index] > 0)
8                 nums[index] *= -1;
9             else
10                 continue;
11         }
12         for (int i = 0; i < (signed) nums.size(); i++)
13             if (nums[i] > 0)
14                 ans.push_back(i + 1);
15         return ans;
16     }
17 };```

645.

``` 1 class Solution {
2 public:
3     vector<int> findErrorNums(vector<int>& nums) {
4         vector<int> ans;
5         for (int i = 0; i < (signed) nums.size(); i++) {
6             int index = abs(nums[i]) - 1;
7             if (nums[index] > 0) {
8                 nums[index] *= -1;
9             } else {
10                 ans.push_back(index + 1);
11             }
12         }
13         for (int i = 0; i < (signed) nums.size(); i++) {
14             if (nums[i] > 0)
15                 ans.push_back(i + 1);
16         }
17         return ans;
18     }
19 };```

448. Find All Numbers Disappeared in an Array&&645. Set Mismatch

(0)
(0)

0条