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 最大连续乘积子数组的主要内容,如果未能解决你的问题,请参考以下文章