我的全过了
代码:
#include <iostream>
#include <vector>
#include <numeric>
#include <limits>
using namespace std;
/*请完成下面这个函数,实现题目要求的功能
当然,你也可以不按照下面这个模板来作答,完全按照自己的想法来 ^-^
******************************开始写代码******************************/
int findMinMis(vector < int > A) {
for (int i = 0; i < A.size() - 1; i++)
{
for (int j = A.size() - 1; j > i; j--)
{
if (A[j] < A[j - 1])
swap(A[j], A[j - 1]);
}
}
for (int i = 0; i < A.size();)
{
while (A[i] <= 0)
{
i++;
}
if (A[i] != 1)
return 1;
else
{
int j = 2;
while (A[i] == A[i + 1] - 1)
{
i++;
j++;
}
return j;
}
}
}
/******************************结束写代码******************************/
int main() {
int res;
int _A_size = 0;
cin >> _A_size;
cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
vector<int> _A;
int _A_item;
for (int _A_i = 0; _A_i<_A_size; _A_i++) {
cin >> _A_item;
cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
_A.push_back(_A_item);
}
res = findMinMis(_A);
cout << res << endl;
return 0;
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a;
int num=0;
int n=sc.nextInt();
int []a1=new int[n];
for(int i=0;i<n;i++)
a1[i]=sc.nextInt();
for(int i=0;i<n;i++)
{
if(a1[i]<0)
continue;
num++;
}
int []a2=new int[num];
for(int i=0;i<n;i++)
{
if(a1[i]<0)
continue;
if(a1[i]>num-1)
continue;
else
a2[a1[i]]=1;
}
for(int i=0;i<num;i++)
if(a2[i]==0)
System.out.println(i);
}
}