Leetcode brushing record-455. Distribución de cookies.

Inserte la descripción de la imagen aquí

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

Publicado 43 artículos originales · elogiado 14 · 20,000+ visitas

Supongo que te gusta

Origin blog.csdn.net/weixin_41545780/article/details/105047024
Recomendado
Clasificación