Leetcode brushing record-452. Detonar el globo con el menor número de flechas

Inserte la descripción de la imagen aquí
Consideramos ordenar según el máximo de cada intervalo,
luego disparamos desde el máximo del intervalo máximo más pequeño,
vemos cuánto se puede disparar cada vez,
y luego tomamos el intervalo máximo más pequeño que no se ha explotado, luego disparamos desde el máximo Tiempos

class Solution:
    def __init__(self):
        self.points = None
    def findMinArrowShots(self, points: List[List[int]]) -> int:
        self.points = sorted(points,key=lambda x:x[1])#,x[1]
        suma = 0
        while self.points != []:
            arrow = self.points[0][1]
            self.points.pop(0)
            tempsum = self.inlist(arrow,self.points)
            for i in range(tempsum):
                self.points.pop(0)
            suma += 1
        return suma 
            
    def inlist(self,value,otherlists):
        temp = 0
        for onelist in otherlists:
            if value >= onelist[0]:
                temp += 1
            else:
                break
        return temp
Publicado 43 artículos originales · elogiado 14 · 20,000+ visitas

Supongo que te gusta

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