Leetcode Leetcode 1046. El peso de la última piedra

Reclamación:

Hay un montón de piedras y el peso de cada piedra es un número entero positivo.

En cada ronda, elija las dos piedras más pesadas de ellas y luego rómpalas. Suponga que el peso de la piedra es xey, y x <= y. Los posibles resultados de la trituración son los siguientes:

Si x == y, entonces ambas piedras se triturarán por completo;
si x! = Y, entonces la piedra de peso x se triturará por completo, y el nuevo peso de la piedra de peso y es yx.
Al final, como mucho solo quedará una piedra. Devuelve el peso de esta piedra. Si no quedan piedras, devuelve 0.

Ejemplo:

Entrada: [2,7,4,1,8,1]
Salida: 1
Explicación:
Primero seleccione 7 y 8 para obtener 1, por lo que la matriz se convierte en [2,4,1,1,1]
y luego 2 Y 4, obtiene 2, por lo que la matriz se convierte en [2,1,1,1],
luego 2 y 1, obtiene 1, por lo que la matriz se convierte en [1,1,1], y
finalmente 1 y 1 son seleccionado, y se obtiene 0. La matriz final se convierte en [1], que es el peso de la última piedra restante.

Idea:
Primero clasifique
las piedras y compare las dos piedras más grandes.
Si los pesos no son iguales, haga una gran reducción y saque dos piedras. Al mismo tiempo, sume el valor restado a la secuencia nuevamente.
Si el peso es el Igual, levante las dos piedras y
repita el proceso anterior hasta que:
si solo queda una piedra al final, devuelva el peso de la
piedra y devuelva 0 si no hay piedra

Código:

class Solution:
    def lastStoneWeight(self, stones: List[int]) -> int:
        stones.sort()

        while True:
            if len(stones) == 1:
                return stones[0]
            if len(stones) == 0:
                return 0
            if stones[-2] == stones[-1]:
                stones.pop()
                stones.pop()
                stones.sort()


            elif stones[-1] >= stones[-2]:
                a = stones.pop()
                b = stones.pop()
                stones.append(a - b)
                stones.sort()

resultado de ejecución:
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_50791900/article/details/111999862
Recomendado
Clasificación