leetcode第55题跳跃游戏

66 阅读1分钟

题目: 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。

数组中的每个元素代表你在该位置可以跳跃的最大长度。

判断你是否能够到达最后一个下标。 题目链接

我的JavaScript解法

/**
 * @param {number[]} nums
 * @return {boolean}
 */
var canJump = function(nums) {
  const len = nums.length;
  let farthest = 0;
  for(let i = 0; i < len - 1; i++) {
    farthest = Math.max(farthest, nums[i] + i);
    if (farthest <= i) {
      return false;
    }
  }
  return farthest >= len -1;
}

解析:

  • 时间复杂度: O(n)O(n)
  • 空间复杂度: O(1)O(1)