455. 分发饼干
✅做题思路or感想
分饼干,经典贪心题
这里的贪心策略是:用最小的饼干去满足食量最少的小孩or用最大的饼干去满足食量最大的小孩
这里我用前者
class Solution {
public:
int findContentChildren(vector<int>& g, vector<int>& s) {
//必须先要给二者进行大小排序
sort(g.begin(), g.end());
sort(s.begin(), s.end());
int index = 0, result = 0; //index代表当前喂食的小孩的索引,result代表成功喂食了的小孩的数量
//这里注意循环中止条件有两个,因为可能会有小孩数多于饼干数或者小孩数小于饼干数的情况
//这里小孩和饼干都是从0开始遍历的,故符合以最小饼干喂食量最小的小孩的逻辑
for (int i = 0; i < s.size() && index < g.size(); i++) {
//如果最小的饼干能喂饱食量最小的小孩
if (s[i] >= g[index]) {
//这个小孩吃饱了,换下一个食量更大或者一样的
index++;
result++;
}
}
return result;
}
};

浙公网安备 33010602011771号