pat 1144
1144 The Missing Number (20分)
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
题意:这题送20分
代码如下
#include<cstdio> #include<unordered_map> using namespace std; int main(){ int n; int temp; unordered_map<int,bool> m; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&temp); m[temp]=true; } int i=1; while(true){ if(m.count(i)==0){ printf("%d",i); break; } i++; } return 0; }