java
class Solution {
public int findContentChildren(int[] g, int[] s) {
int child = 0;
int cookie = 0;
while(child < g.length && cookie < s.length){
if(g[child] <= s[cookie]){
child++;
}
cookie++;
}
return child;
}
}
首先,将孩子的胃口数组 g 和饼干尺寸数组 s 进行排序。然后,使用两个指针 child 和 cookie 分别遍历 g 和 s。每次迭代中,如果当前饼干可以满足当前孩子的胃口(即 g[child] <= s[cookie]),则 child 指针向前移动一位。无论当前饼干是否满足当前孩子的胃口,cookie 指针总是向前移动一位。当 g 或 s 的任一数组被完全遍历后,返回 child 指针的位置,这就是最多可以满足的孩子数。