PAT 1144 The Missing Number

Posted a-little-nut

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT 1144 The Missing Number相关的知识,希望对你有一定的参考价值。

Given N integers, you are supposed to find the smallest positive integer that is NOT in the given list.

Input Specification:
Each input file contains one test case. For each case, the first line gives a positive integer N (≤10^5). Then N integers are given in the next line, separated by spaces. All the numbers are in the range of int.

Output Specification:
Print in a line the smallest positive integer that is missing from the input list.

Sample Input:

10
5 -25 9 6 1 3 4 2 5 17

Sample Output:

7

#include<iostream>
#include<vector>
#include<set>
using namespace std;
int main(){
  int n, t, cnt=1;
  cin>>n;
  set<int> s;
  for(int i=0; i<n; i++){
    cin>>t;
    if(t>0)
      s.insert(t);
  }
  auto it=s.begin();
  for(; it!=s.end(); it++){
    if(cnt++!=*it)
      break;
  }
  it==s.end()?cout<<cnt<<endl:cout<<cnt-1<<endl;
  return 0;
}

以上是关于PAT 1144 The Missing Number的主要内容,如果未能解决你的问题,请参考以下文章

PAT Advanced 1144 The Missing Number (20分)

1144 The Missing Number (20 分)

1144 The Missing Number

1144 The Missing Number (20分)

1144 The Missing Number

1144 The Missing Number (20 分)难度: 一般 / 知识点: 模拟