码迷,mamicode.com
首页 > 其他好文 > 详细

leecode 每日解题思路 152 Maximun Product Subarray

时间:2015-09-06 18:13:01      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:

问题描述:

技术分享

问题链接:152 Maximum Product Subarray


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

这个问题的核心思路与解决最大子段和相同, 但是唯一需要注意的就是负数的情况。

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

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

  技术分享

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

以下是code,因为java没有类似python的多重赋值的功能,(类似 valueA, valueB = expressionA(), expressionB());所以每次依靠多余的两只临时变量

保存临时最大最小值, 否则当执行是数值会被改变。

技术分享

 

leecode 每日解题思路 152 Maximun Product Subarray

标签:

原文地址:http://www.cnblogs.com/thoupin/p/4786549.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!