题解 | #连续子数组最大和(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));