El método me di cuenta:
algoritmo voraz
primera galleta tamaño y apetito GList slist en orden descendente
cada vez, cuando slist no vacío, desde el mayor slist pop en una galleta
cada vez, cuando GList no vacío, el pop a cabo a partir GList El mayor apetito
si la galleta actual> = apetito actual
res + = 1
pausa # cambia la siguiente galleta
si la galleta actual <apetito actual
continúa # prueba el siguiente
retorno de apetito res
class Solution:
def findContentChildren(self, g, s):
if s == [] or g == []:
return 0
g = sorted(g, reverse = True)#[3,2,1]胃口
s = sorted(s, reverse = True)#[1,1]饼干大小
print(g,'胃口')
print(s,'饼干大小')
maxs = s[0]
tempvalue = 0
for i in range(len(g)):
if g[i] <= maxs:
tempvalue = i
break
g = g[i:]
if g == []:
return 0
res = 0
tempindex = 0
while s != []:#当饼干序列非空时,即还有饼干可测试时
values = s.pop(0)#获取当前最大的饼干大小
while g != []:#以下代码段中values不变
valueg = g.pop(0)#获取当前最大胃口
if valueg <= values:#胃口 <= 当前这块饼干的大小,即能满足这个孩子:
res += 1
break
elif valueg > values:#胃口 > 当前饼干大小:
continue
return res