用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;
}