A 1144 The Missing Number (20分)
Posted tsruixi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了A 1144 The Missing Number (20分)相关的知识,希望对你有一定的参考价值。
一、技术总结
- 即判断给出一串数字中缺少的最小正整数
- 直接可以遍历判断n个数字中是否在一串数字中是否出现,如果没有直接输出
- 但是会出现一种情况,是恰好给出的数字是1~n,这是需要再判断一下了遍历的次数是否等于n,如果是的话直接输出n+1
二、参考代码
#include<iostream>
#include<vector>
#include<set>
#include<algorithm>
using namespace std;
int main(){
int n, num = 0;
scanf("%d", &n);
set<int> m;
vector<int> v(n);
for(int i = 0; i < n; i++){
scanf("%d", &v[i]);
m.insert(v[i]);
}
sort(v.begin(), v.end());
for(int i = 1; i <= n; i++){
num++;
if(m.find(i) == m.end()){
printf("%d", i);
break;
}
}
if(num == n) printf("%d", num+1);
return 0;
}
以上是关于A 1144 The Missing Number (20分)的主要内容,如果未能解决你的问题,请参考以下文章
PAT 甲级 1144 The Missing Number