题目链接:https://leetcode-cn.com/problems/assign-cookies/
难度:简单
描述:
假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。
对每个孩子i
,都有一个胃口值g[i]
,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j
,都有一个尺寸s[j]
。如果 s[j] >= g[i]
,我们可以将这个饼干j
分配给孩子i
,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。
提示:g_len
:[1, 30000]
s_len
:[0, 30000]
题解
思路:
先对s
和g
排序,依次扫描s
,从s
中找到最小的能满足g[i]
的饼干j
,循环此过程,直到遍历玩s
或g
。
class Solution:
def findContentChildren(self, g: List[int], s: List[int]) -> int:
g.sort()
s.sort()
i, j, ret = 0, 0, 0
g_len = len(g)
s_len = len(s)
while i < g_len and j < s_len:
if g[i] <= s[j]:
ret += 1
i += 1
j += 1
else:
j += 1
return ret