美文网首页
*152. Maximum Product Subarray

*152. Maximum Product Subarray

作者: 沉睡至夏 | 来源:发表于2016-12-18 09:46 被阅读4次
public class Solution {
    public int maxProduct(int[] nums) {
        if(nums == null || nums.length == 0)    return 0;
        
        int max_prev = nums[0];
        int min_prev = nums[0];
        int max_so_far = nums[0];
        int max_curr, min_curr;
        
        for(int i=1; i<nums.length; i++) {
            max_curr = Math.max(Math.max(max_prev * nums[i], min_prev * nums[i]), nums[i]);
            min_curr = Math.min(Math.min(max_prev * nums[i], min_prev * nums[i]), nums[i]);
            max_so_far = Math.max(max_so_far, max_curr);
            
            max_prev = max_curr;
            min_prev = min_curr;
        }
        return max_so_far;
    }
}

相关文章

网友评论

      本文标题:*152. Maximum Product Subarray

      本文链接:https://www.haomeiwen.com/subject/rybamttx.html