LeetCode – Refresh – Maximum Product Subarray

时间:2015-03-21 06:19:54   收藏:0   阅读:319

Similar to maximum sum subarray, but need a gmin to record the global minimum to handle negative number multiplication.

 1 class Solution {
 2 public:
 3     int maxProduct(int A[], int n) {
 4         int result = A[0], gMax = A[0], gMin = A[0];
 5         for (int i = 1; i < n; i++) {
 6             int tmp = gMax;
 7             gMax = max(max(gMax*A[i], gMin*A[i]), A[i]);
 8             gMin = min(min(tmp*A[i], gMin*A[i]), A[i]);
 9             result = max(gMax, result);
10         }
11         return result;
12     }
13 };

 

原文:http://www.cnblogs.com/shuashuashua/p/4355080.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!