标签:style blog ar color sp for on div log
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
.
1 int maxProduct(int A[], int n) 2 { 3 if (n <= 0) 4 return n; 5 int suffix_max, global_max, suffix_min; 6 7 suffix_max = A[0]; 8 suffix_min = A[0]; 9 global_max = A[0]; 10 for (int i = 1; i < n; i++) 11 { 12 int tmax = suffix_max * A[i]; 13 int tmin = suffix_min * A[i]; 14 suffix_max = max(A[i], max(tmax, tmin)); 15 suffix_min = min(A[i], min(tmax, tmin)); 16 global_max = max(global_max, suffix_max); 17 } 18 19 return global_max; 20 }
leetcode. Maximum Product Subarray
标签:style blog ar color sp for on div log
原文地址:http://www.cnblogs.com/ym65536/p/4166055.html