目录
题目:
解题思路:
贪心算法是满足每一次操作都是局部最优的,从而满足全局最优。先对孩子的饥饿度以及饼干的大小排序,遍历孩子饥饿度数组,每一次选择出能让孩子吃饱的最小尺寸饼干。
注意饼干被吃掉后要从剩下的饼干开始遍历
实现代码:
class Solution {
public int findContentChildren(int[] g, int[] s) {
Arrays.sort(g);
Arrays.sort(s);
int gLength=g.length;
int sLength=s.length;
int size=0;
int first=0;//饼干数组里开始遍历的第一块饼干
for (int i=0;i<gLength;i++){
for (int j=first;j<sLength;j++){
if (g[i]<=s[j]){
first=j+1;//满足上一个孩子饥饿度的最小饼干已经被吃掉,选择下一块饼干开始遍历
size+=1;
break;//退出遍历,下一个孩子开始重新遍历
}
}
}
return size;
}
}