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
.
1 public class Solution { 2 public int maxProduct(int[] A) { 3 if(A == null || A.length == 0) return 0; 4 int result = A[0]; 5 int max = A[0]; 6 int min = A[0]; 7 for(int i = 1; i < A.length; i ++){ 8 int first = A[i] * max; 9 int second= A[i] * min; 10 max = Math.max(Math.max(first, second), A[i]); 11 min = Math.min(Math.min(first, second), A[i]); 12 result = Math.max(result, max); 13 } 14 return result; 15 } 16 }
posted on 2014-10-24 09:40 Step-BY-Step 阅读(114) 评论(0) 编辑 收藏 举报