152. El producto de la secuencia máximo
Idea:
en suma, es decir, el producto de la parte superior máxima subsecuencia n dividido en los tres casos siguientes:
-
Antes de n - un producto del producto de un mínimo secuencia * A [n] máximo
-
Antes de n - un producto del producto máximo subsecuencia * A [n] máximo
-
Antes de n - producto * secuencia A [n] de 1 bit y el producto del producto máximo de la más pequeña sub-secuencia no es el máximo, y A [n] en sí es el más grande.
Respuestas 1
Respuestas 2
class Solution:
def maxProduct(self, nums: List[int]) -> int:
length = len(nums)
if length == 0:
return 0
if length == 1:
return nums[0]
productmax = [0 for i in range(length)]
productmin = [0 for i in range(length)]
productmax[0] = nums[0]
productmin[0] = nums[0]
for i in range(length):
productmax[i] = max(nums[i], nums[i]*productmax[i-1], nums[i]*productmin[i-1])
productmin[i] = min(nums[i], nums[i]*productmax[i-1], nums[i]*productmin[i-1])
return max(productmax)