第三题:直接线性DP就过了。 const {max} = Math; let n = nums.length; let f = new Array(n).fill(-1); f[0] = 0; for(let i = 0;i < n;i ++){ if(f[i] == -1) return -1; let step = nums[i]; f[i] = max(f[i],nums[i]); for(let j = i + 1;j <= i + step && j < n;j ++){ f[j] = max(f[j],nums[j] + f[i]); } } return f[n - 1];
点赞 2

相关推荐

nbdy:字太多了,写简历不是写自传,亮点难点技能点列出来就行,要简明扼要
点赞 评论 收藏
分享
牛客网
牛客企业服务