解决思路
贪心
尝试将最大的饼干给最贪心的小朋友,如果可以满足则分配给他
如果最大的饼干无法满足最贪心的小朋友,则表明所有的饼干都无法满足他。这时候尝试将其分配给次贪心的小朋友。
关键在于对饼干和贪心指数进行排序
贪心一般都会和排序结合在一起
class Solution {
public int findContentChildren(int[] g, int[] s) {
//首先进行排序
Arrays.sort(g);
Arrays.sort(s);
int si = s.length-1,gi = g.length-1; // 索引指针
int res = 0;
while(gi>=0&&si>=0){ //倒着遍历
if(s[si]>=g[gi]){ //如果可以分配
res++;
si--;
gi--; //改变索引
}
else //如果不能分配
gi--;
}
return res;
}
}