自己做一个购物网站,网页设计入门知识,网页设计软件列表点击查看,凉山州建设银行官方网站题目描述#xff1a; 假设你是一位很棒的家长#xff0c;想要给你的孩子们一些小饼干。但是#xff0c;每个孩子最多只能给一块饼干。 对每个孩子 i#xff0c;都有一个胃口值 g[i]#xff0c;这是能让孩子们满足胃口的饼干的最小尺寸#xff1b;并且每块饼干 j#xff… 题目描述 假设你是一位很棒的家长想要给你的孩子们一些小饼干。但是每个孩子最多只能给一块饼干。 对每个孩子 i都有一个胃口值 g[i]这是能让孩子们满足胃口的饼干的最小尺寸并且每块饼干 j都有一个尺寸 s[j] 。如果 s[j] g[i]我们可以将这个饼干 j 分配给孩子 i 这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子并输出这个最大数值。 解题思路贪心算法根据局部最优推全局最优 将胃口数组和饼干数组都排序遍历数组统计可以喂饱小孩的个数。注意从最大的饼干开始遍历循环有两层一个循环是满足了才能走下一个的就是饼干数组 s一个是可以一直重复走的即胃口数组 g这点要区分好。 代码实现 class Solution {/*** 分发饼干* param g 胃口数组* param s 饼干数组* return*/public int findContentChildren(int[] g, int[] s) {// 对两个数组排序Arrays.sort(g);Arrays.sort(s);int lenG g.length;int res 0;// 能喂饱小孩的个数// 由局部最优推全局最优此处从最大的饼干开始遍历int sIndex s.length-1;for (int i lenG-1; i 0 ; i--) {// 遍历g[]if (sIndex0 s[sIndex] g[i]){// 遍历s[]// System.out.println(sIndex);res 1;sIndex--;}}return res;}
}