leetcode[152]Maximum Product Subarray

Find the contiguous subarray within an array (containing at least one number) which has the largest product.

For example, given the array [2,3,-2,4],
the contiguous subarray [2,3] has the largest product = 6.

class Solution {
public:
    int maxProduct(int A[], int n) {
    if (n<1)
    {
        return 0;
    } 
    else
    {
        int maxTemp = A[0];
        int minTemp = A[0];
        int result = A[0];
        for (int i=1;i<n;i++)
        {
            int a = maxTemp * A[i];
            int b = minTemp * A[i];
            int c = A[i];
            maxTemp = max(max(a,b),c);
            minTemp = min(min(a,b),c);
            result = max(maxTemp,result);

        }
        return result;
    }            
    }
};

 

posted @ 2015-02-09 00:04  Vae永Silence  阅读(98)  评论(0编辑  收藏  举报