今天每日一题终于简单了一次…
//先把两个数组排好序
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;
}