给定一个数组,输出最小缺失整数
例如:输入[1,2,3] 输出:4
输入[7,8,9,11] 输出:1
输入[-1,-2,1] 输出:2
解析:将输入的数组进行排序,接着判断数据是否大于n,大于n就输出1,或者全小于1也输出1。将小于n的数据在数组中排好,如果
第i个的值不等于i+1,那么就输出i+1;如果都在区间内,就输出区间长度+1.
int out_int(char s[],int len)
{
if(len ==0)
return 1;
int i=0;
sort(s,0,len-1);//将输入数组进行排序
while(i<len)
{
if((s[i]<len) && (s[i]>=1))
{
int tmp = s[s[i]-1];
printf("tmp:%d %d %d\n",s[i],s[i]-1,tmp);
s[s[i]-1]=s[i];
s[i]=tmp;
}
i++;
}
for(int j=0;j<len;j++)
{
if(s[j] != j+1)
return j+1;
}
return len+1;
}