问题标题: 酷町堂:4702缺失的第一个正数

0
0
已解决
徐子玄
徐子玄
初级光能
初级光能

4702   缺失的第一个正数经验值:1200

题目描述 Description

给定一个未排序的整数数组,其中包含n个整数,找出其中没有出现的最小的正整数。

输入描述 Input Description

两行,第一行一个整数n,表示数组的大小
第二行n个用空格隔开的整数。

输出描述 Output Description

一个整数,表示数组中没有出现的最小的正整数

样例输入 Sample Input

3 1 2 5

样例输出 Sample Output

3

数据范围及提示 Data Size & Hint

1<=n<=200
正整数不超过200

#include <bits/stdc++.h>
using namespace std;

int a[205];
int main() {
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
        cin>>a[i];
    sort(a+1,a+n+1);
    for(int i=1;i<=205;i++) {
        if(a[i]!=i) {
            cout<<i;
            return 0;
        }
    } 
}

找错!!


0
已采纳
陈曦
陈曦
资深天翼
资深天翼

如果你用 sort,那就不能用 a[i] 判断!

陈曦在2020-05-04 13:16:20追加了内容

建议你用 桶 。

思路:桶输入,判断是否有 i 这个数,若有,输出,结束循环。

陈曦在2020-05-04 13:17:50追加了内容

注意:只需循环到 200 。

0
0
0
我要回答