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

子数组最大乘积

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;
    }
}
全部评论

相关推荐

与火:这不接? 留子的钱不挣白不挣
点赞 评论 收藏
分享
10-11 17:30
湖南大学 C++
我已成为0offer的糕手:羡慕
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务