/*

思路:一个元素一个元素向后加和,并与当前元素对比,找到最大值,如果当前元素较大,那么从当前元素开始向后加和 */

最大连续子序列_i++

 

 

源代码:

let arr = [1, 2, 25, -12, -55, 103, -250, 100, 120, 130]


/*

思路:一个元素一个元素向后加和,并与当前元素对比,找到最大值,如果当前元素较大,那么从当前元素开始向后加和 */


function maxSubArray(arr) { let dp = [] let max



dp[0] = arr[0]

max = arr[0]   // dp中元素代表从0开始以i下标为结尾的最大子序列的值


for (let i = 1; i < arr.length; i++) {

dp[i] = Math.max(dp[i - 1] + arr[i], arr[i]) if (dp[i] > max) { max = dp[i] } }


return max

}


const r = maxSubSequence(arr)

console.log(r);