问题描述:
1144. The Missing Number (20)
时间限制
150 ms
内存限制
65536 kB
代码长度限制
16000 B
判题程序
Standard
作者
CHEN, Yue
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 (<= 105). 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 17Sample Output:
7
听说机试题比3月PAT要简单,为了准备蓝桥杯,还是写一写吧。。。
这题直接无脑暴力for循环就行;
AC代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#include<bits/stdc++.h> using namespace std; int main() { // freopen("data.txt","r",stdin); ios::sync_with_stdio(false); int n,x,k=1; cin>>n; vector<bool> v(n+1,true); for(;n--;) { cin>>x; if(x>k&&x<v.size()) v[x]=false; else if(x==k) for(k++;!v[k];k++); } cout<<k<<endl; return 0; } |