题目描述:每个孩子都有一个满足度 grid,每个饼干都有一个大小 size,只有饼干的大小大于等于一个孩子的满足度,该孩子才会获得满足。求解最多可以获得满足的孩子数量。

    解析:采用贪心算法,在最开始无法知道全局最优解,但是通过保证每一步的解是最优的,来保证全局的解是最优的

    1. package main;
    2. import java.util.Arrays;
    3. /**
    4. * @author Administrator
    5. * Created by Administrator on 2021/8/31
    6. */
    7. public class Tanxin {
    8. public static void main(String[] args) {
    9. int[] grid = {1,3,6,7,9};
    10. int[] size = {2,3,4,7,8};
    11. int count = findContentChildren(grid, size);
    12. System.out.println(count);
    13. }
    14. public static int findContentChildren(int[] grid,int[] size){
    15. if (grid == null || size == null){
    16. return 0;
    17. }
    18. Arrays.sort(grid);
    19. Arrays.sort(size);
    20. int gi = 0;
    21. int si = 0;
    22. while (gi<grid.length && si< size.length){
    23. if (grid[gi]<= size[si]){
    24. gi++;
    25. }
    26. si++;
    27. }
    28. return gi;
    29. }
    30. }