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
相关推荐
数据牧羊人的成长笔记7 小时前
python爬虫scrapy框架使用
爬虫·python·scrapy
CUMT_DJ8 小时前
matlab计算算法的运行时间
开发语言·算法·matlab
weixin_514221859 小时前
FDTD与matlab、python耦合
python·学习·matlab·fdtd
KyollBM12 小时前
每日羊题 (质数筛 + 数学 | 构造 + 位运算)
开发语言·c++·算法
F_D_Z14 小时前
数据集相关类代码回顾理解 | StratifiedShuffleSplit\transforms.ToTensor\Counter
python·torchvision·transforms
Univin14 小时前
C++(10.5)
开发语言·c++·算法
Asmalin14 小时前
【代码随想录day 35】 力扣 01背包问题 一维
算法·leetcode·职场和发展
剪一朵云爱着14 小时前
力扣2779. 数组的最大美丽值
算法·leetcode·排序算法
qq_4286396114 小时前
虚幻基础:组件间的联动方式
c++·算法·虚幻
深瞳智检14 小时前
YOLO算法原理详解系列 第002期-YOLOv2 算法原理详解
人工智能·算法·yolo·目标检测·计算机视觉·目标跟踪