题解 | #连续子数组的最大乘积#

连续子数组的最大乘积

http://www.nowcoder.com/practice/fd8c819c07c9493887bfac8549c119f4

分享一个JavaScript的实现

let n = ~~readline()
let arr = readline().split(' ').map(x => ~~x)

function main(arr, n) {
    let pre_max = arr[0], pre_min = arr[0]
    let ans = arr[0]
    for(let i = 1 ; i < n ; i++) {
        let cur_max = Math.max(pre_max * arr[i], pre_min * arr[i], arr[i])
        let cur_min = Math.min(pre_max * arr[i], pre_min * arr[i], arr[i])
        ans = Math.max(ans, cur_max)
        pre_max = cur_max
        pre_min = cur_min
    }
    return ans
}

console.log(main(arr, n))
全部评论
有点清晰啊
点赞 回复 分享
发布于 2022-05-05 11:51

相关推荐

2025-12-14 11:43
黑龙江大学 Java
用微笑面对困难:确实比较烂,可以这么修改:加上大学的qs排名,然后大学简介要写一些,然后硕士大学加大加粗,科研经历第一句话都写上在复旦大学时,主要负责xxxx,简历左上角把学校logo写上,建议用复旦大学的简历模板
点赞 评论 收藏
分享
评论
3
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务