PAT A1144 The Missing Number [模拟+STL]

题目描述

链接
找出不在这个序列出现的最小正整数

分析

把序列每个元素丢到set里面,然后for循环从1到maxn,如果i不在set里面,就输出答案,break

代码

#include<bits/stdc++.h>
using namespace std;

set<int> dict;
const int maxn = 1e5+10;

int main(){
    int n,num;
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        scanf("%d",&num);
        dict.insert(num);
    }
    for(int i=1;i<=maxn;i++){
        if(dict.find(i) == dict.end()){
            printf("%d
", i);
            break;
        }
    }
}

原文地址:https://www.cnblogs.com/doragd/p/11465750.html