题解 | #不相邻取数#

不相邻取数

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

动态规划:

  • dp[i]dp[i]表示以第ii个元素结尾的不相邻元素和的最大值,dp[i]=Math.max(dp[i1],dp[i2]+nums[i])dp[i] = Math.max(dp[i-1],dp[i-2]+nums[i])
  • 从所有dp[i]dp[i]中找出最大值即是答案
const n = ~~readline()
const arr = readline().split(' ').map(x => ~~x)

function main(arr,n) {
    if(n === 1) return arr[0]
    if(n === 2) return Math.max(arr[0], arr[1])
    let max = 0
    const dp = new Array(n).fill(0)
    dp[0] = arr[0], dp[1] = Math.max(arr[0], arr[1])
    for(let i = 2 ; i < n ; i++) {
        dp[i] = Math.max(dp[i-1], dp[i-2] + arr[i])
        max = Math.max(dp[i], max)
    }
    return max
}

console.log(main(arr,n))
全部评论

相关推荐

Yushuu:你的确很厉害,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了😆
点赞 评论 收藏
分享
一个菜鸡罢了:哥们,感觉你的简历还是有点问题的,我提几点建议,看看能不能提供一点帮助 1. ”新余学院“别加粗,课程不清楚是否有必要写,感觉版面不如拿来写一下做过的事情,教育经历是你的弱势就尽量少写 2. “干部及社团经历”和“自我评价”删掉 3. 论文后面的“录用”和“小修”啥的都删掉,默认全录用,问了再说,反正小修毕业前肯定能发出来 4. 工作经验和研究成果没有体现你的个人贡献,着重包装一下个人贡献
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务