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

Leetcode#152 Maximum Product Subarray

时间:2015-01-30 10:36:58      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

原题地址

 

简单动态规划,跟最大子串和类似。

一维状态空间可以经过压缩变成常数空间。

 

代码:

 1 int maxProduct(int A[], int n) {
 2         if (n <= 0)
 3             return 0;
 4             
 5         int res = A[n - 1];
 6         int minp = A[n - 1];
 7         int maxp = A[n - 1];
 8         
 9         for (int i = n - 2; i >= 0; i--) {
10             int tmp = minp;
11             minp = min(A[i], min(A[i] * minp, A[i] * maxp));
12             maxp = max(A[i], max(A[i] * tmp, A[i] * maxp));
13             res = max(res, maxp);
14         }
15         
16         return res;
17 }

 

Leetcode#152 Maximum Product Subarray

标签:

原文地址:http://www.cnblogs.com/boring09/p/4261593.html

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