这个题可以用计数的方法来标记数组,可以达到o(n)的时间复杂度,code如下:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
int input[10]={1,2,5,1,3,4,6,9,3,8};
int num[100]={0};
int i;
for(i=0;i<10;i++)
{
if(input[i]>0)
num[input[i]]++;
}
for(i=1;i<100;i++)
{
if(num[i] == 0)
{
printf(" %d ",i);
return 0;
}
}
return 0;
}