题目
给定一个数组,求数组中不要求连续的子项的最大累加和
- 记录之前位置的最大累加和,与当前位置对比即可
function maxNonAdjacentSum(nums) {
if (nums.length === 0) {
return 0;
}
let dp = nums[0];
for (let i = 1; i < nums.length; i++) {
dp = Math.max(dp, dp + nums[i]);
}
return dp;
}
// 示例
let nums = [1, -3, 3, -1, 5];
console.log(maxNonAdjacentSum(nums)); // 输出:9 (1 + 3 + 5)