乘积最大子数组

给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。

function maxProduct(nums) {
    let maxsum = Math.max(...nums);
    if(nums.length == 1){
        return nums[0]
    }
    if(nums.length == 2 && nums.indexOf(0) > -1){
        return nums[0] == 0 ? nums[1] : nums[0]
    }
    for(let i = 0;i < nums.length-1;i++){
        let item = nums[i]
        let sum = Math.max(...nums);
        for(let j = i+1;j < nums.length;j++){
            let jItem = nums[j]
            item *= jItem
            if(item > sum){
                sum = item
            }
        }
        if(sum > maxsum){
            maxsum = sum
        }
    }
    return maxsum
}

Leecode测试用例全部通过,提交未通过(显示时间超时,我也不知道什么原因)

原文地址:https://www.cnblogs.com/zhenjianyu/p/13158232.html