c++源代码
时间: 2023-07-01 18:28:49 浏览: 139
好的,这是一个使用 C++ 实现的查找数组中缺失的数字的算法。
假设给你一个长度为 n 的数组 nums,其中包含了从 0 到 n-1 的所有数字,但是其中有一个数字缺失了。现在我们要找出这个缺失的数字。
具体的算法步骤如下:
1. 首先计算出数组 nums 中所有数字的总和 sum。
2. 然后计算出从 0 到 n-1 的所有数字的总和 total,公式为:total = n * (n-1) / 2。
3. 缺失的数字就是 total - sum。
下面是这个算法的 C++ 代码实现:
```c++
#include <iostream>
#include <vector>
using namespace std;
int missingNumber(vector<int>& nums) {
int n = nums.size();
int sum = 0;
for (int i = 0; i < n; i++) {
sum += nums[i];
}
int total = n * (n + 1) / 2;
return total - sum;
}
int main() {
vector<int> nums = {0, 1, 3};
int missing = missingNumber(nums);
cout << "The missing number is: " << missing << endl;
return 0;
}
```
这个算法的时间复杂度是 O(n),空间复杂度是 O(1)。
阅读全文