题解 | #连续子数组最大和(ACM版本)#

连续子数组最大和(ACM版本)

http://www.nowcoder.com/practice/1718131e719746e9a56fb29c40cc8f95

DP:

// 输入
let len = readline()
let arr = readline().split(" ")
len = +len[0] // 类型转换,转换成数字
arr = arr.map(item => +item)

// 主函数
function max_sum(arr) {
  let max = arr.map(item => item)
  for (let i = arr.length - 2; i >= 0; i--) {
    let j = i + 1
    // i到最后的sum最大值, 即加上max[j]之后是否比原来大
    // console.log(max[j] + max[i]);
    if (max[i] < max[j] + max[i]) {
      max[i] = max[j] + max[i]
    }
  }
  return Math.max(...max)
}
console.log(max_sum(arr));
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务