Suppose you are a great parent , Want to give your kids some cookies . however , Each child can only give one biscuit at most .
For every child i, All have an appetite value g[i], This is the smallest size of biscuit that can satisfy children's appetite ; And every cookie j, They all come in one size s[j] . If s[j] >= g[i], We can put this biscuit j Assign to children i, The child will be satisfied .
Your goal is to meet as many children as possible , And output the maximum value .
Sorting and greedy algorithm , In ascending order first , Directly traverse the biscuit , Take biscuits and give them to the children one by one .
def findContentChildren(self, g: List[int], s: List[int]) -> int:
g.sort()
s.sort()
i,j = 0,0
while i<len(g) and j<len(s):
if g[i]<=s[j]:
i+=1
j+=1
return i