题目


解法1

点击查看代码
#include <iostream>
#include <unordered_set>
using namespace std;

int main() {
    int n; scanf("%d", &n);
    
    unordered_set<int> numbers;
    
    for (int i = 0, a; i < n; i++) {
        scanf("%d", &a);
        if (a > 0) numbers.insert(a); // 只存正整数
    }
    
    int missing = 1;
    while (numbers.find(missing) != numbers.end()) {
        missing++;
    }
    printf("%d",missing);
    return 0;
}