Leetcode - python - Sword se refiere a la Oferta 42

Suma máxima de subarreglos consecutivos

Ingrese una matriz de enteros. Uno o más enteros consecutivos en la matriz forman una submatriz. Encuentre el valor máximo de la suma de todas las submatrices.

Requiere tiempo la complejidad es O (n)
Esta pregunta es la solución óptima para resolver programación dinámica, programación dinámica por primera vez para hacer este tipo, aunque el código parece muy simple, pero siempre se sintió un poco difícil de pensar, referencia

class Solution:
    def maxSubArray(self, nums: List[int]) -> int:
        for i in range(1, len(nums)):
            nums[i] += max(nums[i-1], 0)#nums[i]用来存储dp[i]值;如果dp[i-1]小于0,那么dp[i]==nums[i],否则dp[i]=dp[i-1]+nums[i];
        return(max(nums))

Supongo que te gusta

Origin blog.csdn.net/AWhiteDongDong/article/details/114188561
Recomendado
Clasificación