爆刷PAT(甲級)——之【1144】 The Missing Number(20 分)——排序

題意:給一個序列,輸出序列裏沒有出現的最小的正數。

思路: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;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章