最大配列の152製品
アイデア:
、である、合計最大サブトップの積n次の3つの場合に分けします。
-
nは前 - 最小配列* A [n]が最大値の積の積
-
nは前 - 最大のサブ物* A [n]が最大値の積
-
nは前-製品* A [n]は1ビットシーケンスと最小のサブシーケンスの最大積の積が最大値ではなく、A [n]は、それ自体が最も大きいです。
回答1件の
回答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)