这是跟着代码随想录的顺序学习算法的第?天。
以下是学习时自己的一些理解与笔记,如有错误欢迎指正与讨论。
55. 跳跃游戏、45. 跳跃游戏 II
参考相关链接:
笔记
55.跳跃游戏
本题重点在于,题目只是要求判断能否到达最后一个下标,而没有要求说明是如何到达最后一个下标的,所以思考重心应该放在 如何判断能否到达
,而不是 如何才能到达
,也就是只考虑判断。
想要判断从这个数组这条路往下走,能否到达最后一个下标,那自然而然就要知道从这个数组这条路往下走能够走多远,一步步地走,一步步地记录此时能够走的最远距离。
如果能走的最远距离达到了或者超过了最后一个下标,就说明可以到达,具体怎么到达的,不关心。
var canJump = function(nums) {
// 范围覆盖
const len = nums.length;
if(len === 1) return true;
let distance = nums[0];
for(let i = 0; i <= distance; i++){
distance = Math.max(distance, nums[i] + i);
if<