Array:求子数组最大乘积

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

public int maxProduct(int[] nums) {
        if (nums == null || nums.length ==0) {
            return -1;
        }
        int max = nums[0],min = nums[0],result = nums[0];
        for (int i = 1; i < nums.length; i++) {
            int temp = max;
            max = Math.max(Math.max(max*nums[i], min*nums[i]), nums[i]);
            min = Math.min(Math.min(temp*nums[i], min*nums[i]), nums[i]);
            result = Math.max(max, result);
        }
        return result;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容