注意:
- 输入的值可能小于等于0或大于数组大小
- 输入的值刚好从1~N,此时需输出N+1
#include<cstdio>
#include<vector>
#define maxn 100010
using namespace std;
int main() {
int N, temp;
scanf("%d", &N);
int num[maxn] = {0};
for (int i = 0; i < N; i++) {
scanf("%d", &temp);
if (temp > 0 && temp < maxn) {
num[temp]++;
}
}
for (int i = 1; i <= N; i++) {
if (num[i] <= 0) {
printf("%d\n", i);
return 0;
}
}
printf("%d\n", N + 1);
return 0;
}