题目链接https://pintia.cn/problem-sets/994805342720868352/problems/994805343463260160
题目大意:给出一串整数,找出不在这串数字中的最小正整数
思路:遍历就行。因为给出数字都在int
范围内,开的判断数组known[]
大小为int
最大值即可
完整代码
#include <iostream>
#include <cstdio>
#include <cmath>
#include <vector>
#include <algorithm>
#include <queue>
#include <map>
#include <set>
using namespace std;
const int MAX = 2147483647;
bool known[MAX];
int main() {
int N;
scanf("%d", &N);
int ret = MAX;
for (int i = 0; i < N; i++) {
int tmp;
scanf("%d", &tmp);
if (tmp > 0)
known[tmp] = true;
}
for (int i = 1; i < MAX; i++) {
if (!known[i]) {
ret = i;
break;
}
}
printf("%d", ret);
return 0;
}