leecode 每日解题思路 152 Maximun Product Subarray

问题描述:java

问题连接:152 Maximum Product Subarraypython


  
在经典的算法解析中, 有关的分治和动态规划的,经典题型之一就是求最大子段和, 这道题就是他的变形:求最大子段积; 算法

这个问题的核心思路与解决最大子段和相同, 可是惟一须要注意的就是负数的状况。express

  每次在比较当前最大结果的同时,也须要保存当前最小结果,因此每一个当前点i处的取值, 就是从当前值nums[i], 和cur_max+nums[i],spa

cur_min+nums[i]三者中取极值:code

  

每次的取值递推路径如上所示, 应该还算清晰。blog

如下是code,由于java没有相似python的多重赋值的功能,(相似 valueA, valueB = expressionA(), expressionB());因此每次依靠多余的两只临时变量leetcode

保存临时最大最小值, 不然当执行是数值会被改变。get

相关文章
相关标签/搜索