
关注
数组中子数组的最大累乘积
【题目】
给定一个double类型的数组arr,其中的元素可正可负可0,返回子数组累乘的最大乘积。例如arr=[-2.5,4,0,3,0.5,8,-1],子数组[3,0.5,8]累乘可以获得最大的乘积12,所以返回12。
public double maxProduct(double[] arr) {
if (arr == null || arr.length == 0) {
return 0;
}
double max = arr[0];
double min = arr[0];
double res = arr[0];
double maxEnd = 0;
double minEnd = 0;
for (int i = 1; i < arr.length; ++i) {
maxEnd = max * arr[i];
minEnd = min * arr[i];
max = Math.max(Math.max(maxEnd, minEnd), arr[i]);
min = Math.min(Math.min(maxEnd, minEnd), arr[i]);
res = Math.max(res, max);
}
return res;
}
查看原帖
点赞 4
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 面试问题记录 #
35058次浏览 535人参与
# 工作一周年分享 #
15931次浏览 104人参与
# 京东TGT #
37056次浏览 158人参与
# 入职第五天,你被拉进了几个工作群 #
14941次浏览 79人参与
# 面试经验谈 #
23222次浏览 349人参与
# 假如我穿越到了妈妈的18岁 #
2529次浏览 32人参与
# 机械人,你的第一份感谢信是谁给的 #
23992次浏览 295人参与
# 面试吐槽bot #
6527次浏览 55人参与
# 零跑求职进展汇总 #
2704次浏览 16人参与
# 视觉/交互/设计招聘信息汇总 #
11430次浏览 596人参与
# 职场捅娄子大赛 #
266976次浏览 2387人参与
# 上班苦还是上学苦呢? #
215544次浏览 1288人参与
# 职场新人生存指南 #
340063次浏览 7275人参与
# 国企vs私企,你更想去? #
213853次浏览 2037人参与
# 异地恋该为对方跳槽吗 #
28536次浏览 143人参与
# 硬件人秋招的第一个offer #
67632次浏览 1083人参与
# 请用你的专业向妈妈表白 #
5404次浏览 56人参与
# 硬件人更看重稳定还是高薪 #
43066次浏览 216人参与
# 机械求职避坑tips #
43048次浏览 356人参与
# 对妈妈没说出口的话 #
15850次浏览 364人参与
# 妈妈治愈了你哪些脆皮时刻 #
7270次浏览 119人参与