image.png

解决思路

贪心

尝试将最大的饼干给最贪心的小朋友,如果可以满足则分配给他
如果最大的饼干无法满足最贪心的小朋友,则表明所有的饼干都无法满足他。这时候尝试将其分配给次贪心的小朋友。
image.png
关键在于对饼干和贪心指数进行排序
贪心一般都会和排序结合在一起

  1. class Solution {
  2. public int findContentChildren(int[] g, int[] s) {
  3. //首先进行排序
  4. Arrays.sort(g);
  5. Arrays.sort(s);
  6. int si = s.length-1,gi = g.length-1; // 索引指针
  7. int res = 0;
  8. while(gi>=0&&si>=0){ //倒着遍历
  9. if(s[si]>=g[gi]){ //如果可以分配
  10. res++;
  11. si--;
  12. gi--; //改变索引
  13. }
  14. else //如果不能分配
  15. gi--;
  16. }
  17. return res;
  18. }
  19. }