Leetcode no. 152

来源:互联网 发布:人工智能高清在线观看 编辑:程序博客网 时间:2024/06/14 03:49

152. Maximum Product Subarray


Find the contiguous subarray within an array (containing at least one number) which has the largest product.

For example, given the array [2,3,-2,4],
the contiguous subarray [2,3] has the largest product = 6.


public class Solution {    public int maxProduct(int[] nums) {        if (nums.length==0) return 0;        int max= nums[0];        int prevmax= nums[0];        int prevmin= nums[0];        int curmax, curmin;        for (int i=1; i<nums.length; i++) {            curmax= Math.max(Math.max(prevmax*nums[i], prevmin*nums[i]), nums[i]);            curmin= Math.min(Math.min(prevmax*nums[i], prevmin*nums[i]), nums[i]);            max= Math.max(max, curmax);            prevmax= curmax;            prevmin= curmin;        }        return max;    }}


0 0
原创粉丝点击