题意:给一个序列,输出序列里没有出现的最小的正数。
思路:N小于100000,所以排序以后,输出第一个衔接不上的正数,屁股后面那个数就好了。
Code:
#include<bits/stdc++.h>
using namespace std;
#define inf 100009
#define INF 0x3f3f3f3f
#define loop(x,y,z) for(x=y;x<z;x++)
int e[inf];
int main()
{
int i,j,n;
scanf("%d",&n);
loop(i,0,n)scanf("%d",&e[i]);
sort(e,e+n);
int ans=1;
loop(i,0,n)
if(e[i]>ans&&e[i]>ans+1)break;
else if(e[i]==ans)ans++;
printf("%d\n",ans);
return 0;
}
博客围绕求解序列中缺失的最小正数展开。题意是给定一个序列,要输出其中未出现的最小正数。思路是当序列长度N小于100000时,先对序列排序,然后找出第一个衔接不上的正数,其后的数即为所求。
——之【1144】 The Missing Number(20 分)——排序&spm=1001.2101.3001.5002&articleId=82153668&d=1&t=3&u=98052dc25afd483f8ad1b4f365572137)
1568

被折叠的 条评论
为什么被折叠?



