您的位置:首页 > 其它

在数组中找到至少包含一个数字的子阵具有最大的乘积

2017-03-21 00:00 302 查看
int
maxProduct(int[]
A) 

{if
(A.length
== 0) 

return
0;
 

int
maxherepre = A[0];
 

int
minherepre = A[0];
 

int
maxsofar = A[0];
 

int
maxhere, minhere;  

for
(int
i = 1;
i < A.length;
i++) 

{ maxhere = Math.max(Math.max(maxherepre
* A[i], minherepre * A[i]), A[i]);  

minhere = Math.min(Math.min(maxherepre
* A[i], minherepre * A[i]), A[i]);  

maxsofar = Math.max(maxhere,
maxsofar);  

maxherepre = maxhere;  

minherepre = minhere;  

}  

return
maxsofar;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐