PAT甲级1144

用map是很简单,用vector一直通不过T_T

vector

#include<iostream>
#include<algorithm>
#include<vector>

using namespace std;

bool cmp(int a, int b)
{
    return a < b;
}

int main()
{
    int n, a, result;
    scanf("%d", &n);
    vector<int> num;
    for (int i = 0; i < n; i++)
    {
        scanf("%d", &a);
        num.push_back(a);
    }
    sort(num.begin(), num.end(), cmp);
    int index = 1;
    for (int i = 0; i < num.size(); i++)
    {
        if (num[i] == index)
        {
            index++;
            continue;
        }
        else result = index;
    }
    printf("%d", result);
}

map

#include<iostream>
#include<map>
using namespace std;
int main()
{
    int n, a;
    map<int, int> m;
    scanf("%d", &n);
    for (int i = 0; i < n; i++)
    {
        scanf("%d", &a);
        m[a]++;
    }
    int index = 1;
    while (m[index] != 0)
    {
        index++;
    }
    cout << index;
}

猜你喜欢

转载自blog.csdn.net/NULLdream/article/details/82051339