#include "stdafx.h"
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int FindMinPos(vector<int> &A, int n)
{
vector<int> B(500,0); //定义一个数组去存储正整数
for (int i = 0; i < A.size(); i++)
{
if (A[i] > 0)
B[A[i]] = A[i];
}
if (B[1] != 1)
return 1; //没有正整数1的情况下 就返回1
else
{
for (int i = 1; i < A.size(); i++)
{
//cout << B[i] << endl;
if (B[i] - B[i - 1] != 1) //返回大于1且小于最大值的最小正数
return i;
}
}
return *max_element(B.begin(), B.end())+1; // 返回最大整数+1
}
int main()
{
int N = 4;
int input;
vector<int> A = {-3,-2 ,1,5,2,3};
cout << FindMinPos(A, N);
system("pause");
return 0;
}
运行结果: