题解 | #子数组最大乘积#

子数组最大乘积

http://www.nowcoder.com/practice/9c158345c867466293fc413cff570356

public class Solution {
    public double maxProduct(double[] arr) {
        if(arr.length==0) return 0;
        
        double max = arr[0];
        double min = arr[0];
        double val = max;
        double tmp = 1;
        for(int i=1;i<arr.length;i++){
            tmp = max; //此处要先把上一把的max保留一下
            max = Math.max(arr[i],arr[i]*max);
            max = Math.max(max,arr[i]*min);
            
            min = Math.min(arr[i],arr[i]*min);
            min = Math.min(min,arr[i]*tmp);
            val = Math.max(val,max);
    }
        return val;
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-01 10:56
点赞 评论 收藏
分享
06-27 15:29
门头沟学院 Java
点赞 评论 收藏
分享
强大的马里奥:不太可能,我校计算机硕士就业率99%
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务