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

1.题目如下

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

 

 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.解题思路

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

 

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

 

上一篇:数据结构C语言—线性表【顺序存储】顺序表(malloc动态分配实现)


下一篇:newlib中malloc如何获取heap地址