1. 分发饼干
这道题目和我们之前讲到的田忌赛马的问题很相似,只不过这这里不需要劣等马去抵消掉优等马,直接上贪心策略:
先将两个数组排序。针对胃口较小的孩子,从小到大挑选饼干:
- i. 如果当前饼干能满足,直接喂(最小的饼干都能满足,不要浪费大饼干) ;
- ii. 如果当前饼干不能满足,放弃这个饼干,去检测下一个饼干(这个饼干连最小胃口的孩子都无法满足,更别提那些胃口大的孩子了)。
直接上代码:
class Solution {
public:
int findContentChildren(vector<int>& g, vector<int>& s) {
// 排序
sort(g.begin(), g.end());
sort(s.begin(), s.end());
int i = 0;
int j = 0;
int ret = 0;
while(j < s.size() &&