力扣455.分发饼干

今天每日一题终于简单了一次…

//先把两个数组排好序
int cmp(int* a, int* b) {
    return *a - *b;
}

int findContentChildren(int* g, int gSize, int* s, int sSize){

    qsort(g, gSize, sizeof(int), cmp);
    qsort(s, sSize, sizeof(int), cmp);

    int p1=0,p2=0;
    int cnt=0;                              //引入cnt用来计数
    if( g==NULL || s==NULL ) return 0;      //排除数组为空的特殊情况

    //从第一个孩子开始,在s数组中寻找能让其满足的最小饼干尺寸,如果找到,计数,并移动p1和p2至下一位置,
    //再接着找下一个孩子满足的最小饼干尺寸,以此类推......
    while( p1 < gSize  &&  p2 < sSize ){
        if( s[p2] >= g[p1] ){
            cnt++;
            p1++;
            p2++;
        }else p2++;
    }
    return cnt;
}

你可能感兴趣的:(C语言,指针)