10.查找数组中未出现的最小正整数

时间:2021-06-28 19:41:00   收藏:0   阅读:0

1.题目如下

技术图片

 

 2.解题代码

#include<stdio.h>
#include<stdlib.h>
int finMissMin(int a[],int n)
{
    
    int i,*b;
    b=(int *)malloc(sizeof(int)*n);
    //初始化为0 
    for(i=0;i<n;i++)
    {
        b[i]=0;
    }
    
    for(i=0;i<n;i++)
    {
        if(a[i]>0&&a[i]<=n)
        {
            b[a[i]-1]=1;
        }
    }
    
    for(i=0;i<n;i++)
    {
        if(b[i]==0)break;
    }
    return i+1;
    
    
}

int main(){
    int a[]={1,2,3}; 
    
    int b=finMissMin(a,3);
    printf("未出现的最小正整数为:%d",b);
    return 0;
} 

3.解题思路

技术图片

 

技术图片

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!