LeetCode455☞分发饼干

关联LeetCode题号455

本题特点
  • 贪心算法
  • 通过局部解,推导出最优解,并且没有反例
本题思路
  1. 先排序很重要,因为这样就知道,已经使用过的饼干 肯定是不满足小朋友的胃口的
python 复制代码
class Solution:
    def findContentChildren(self, g: List[int], s: List[int]) -> int:
        g.sort()
        s.sort()
        start, count = len(s) - 1, 0
        for index in range(len(g) - 1, -1, -1): # 先喂饱大胃口
            if start >= 0 and g[index] <= s[start]: 
                start -= 1
                count += 1
        return count
# 使用两个变量 一重循环 控制两个数组的值的比较

两年后的想法:先满足最小的胃口

双循环不可以:是因为一块饼干给了一个人 就不能给第二个人,一个人也不能吃两块饼干

想用一个变量控制两个数组 不可以:饼干和孩子两个数组循环变化的节奏不一致

java 复制代码
class Solution:
    def findContentChildren(self, g: List[int], s: List[int]) -> int:
        count = 0
        g.sort()
        s.sort()
        i = 0
        j = 0
        while i <= len(g)-1 and j <= len(s) -1:
            if g[i] <= s[j]:
                count += 1
                i += 1
                j += 1
            else:
                j += 1
        return count
相关推荐
hboot1 小时前
AI工程师第三课 - 机器学习基础
python·scikit-learn·kaggle
To_OC4 小时前
LC 1 两数之和:面试第一道必考题,暴力解法直接被面试官 pass
javascript·算法·leetcode
顾林海6 小时前
Agent入门阶段-编程基础-Python:流程控制
python·agent·ai编程
鱼鱼不愚与9 小时前
《原来如此 | 第01期:为什么导航软件能预测红绿灯倒计时?》
算法
呱呱复呱呱9 小时前
Django CBV 源码解读:一个请求是怎么找到你的 get() 方法的
python·django
复杂网络13 小时前
论最小 Agent 计算机的形态
算法
曲幽14 小时前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
荣码14 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
兵慌码乱1 天前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理