python 最大连续乘积子数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 最大连续乘积子数组相关的知识,希望对你有一定的参考价值。

"""
input: [-2.5, 4, 0, 3, 0.5, 8, -1]
output: 3 * 0.5 * 8

solution: dynamic
"""


def MaxProductSubArray(A):
    Min, Max = A[0], A[0]
    maxResult = A[0]
    for a in A[1:]:
        end1, end2 = Min * a, Max * a
        Max = max(max(end1, end2), a)
        Min = min(min(end1, end2), a)
        maxResult = max(maxResult, Max)
    return maxResult


def main():
    A = [-2.5, 4, 0, 3, 0.5, 8, -1]
    print(MaxProductSubArray(A))


if __name__ == "__main__":
    main()

以上是关于python 最大连续乘积子数组的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode第152题—乘积最大子数组—Python实现

LeetCode第152题—乘积最大子数组—Python实现

LeetCode--152--乘积最大子序列(python)

2021-10-18:乘积最大子数组。给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。力扣152。

经典算法——连续子数组的最大乘积

找出数组中的连续最大乘积