题目:
题目截图:
解题步骤:
用到了贪心算法
局部最优:既能满足孩子,还消耗最少,这样就有可能满足更多的孩子
1.对饼干数组和胃口数组升序排序
2.遍历饼干数组,找到能满足第一个孩子的饼干
3.然后继续遍历饼干数组,找到满足第二、三、...n个孩子的饼干,此时n就是能满足的孩子的最大值
代码:
/**
* @param {number[]} g
* @param {number[]} s
* @return {number}
*/
var findContentChildren = function (g, s) {
g.sort((a, b) => a - b); // 胃口数组,前减后,就是升序,反之就是降序
s.sort((a, b) => a - b); // 饼干数组
let i = 0;
s.forEach(n => {
if (n >= g[i]) {
i++;
}
});
return i;
};
时间复杂度分析:
时间复杂度是O(nlogn)
空间复杂度分析:
空间复杂度是O(1)
怎么样,是不是很简单,你学会了吗 ?
如果这篇文章能够帮助到您,希望您不要吝惜点赞👍👍和收藏💖💖,您的支持是我继续努力的动力 💪💪 !!!