博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode55. 跳跃游戏(JAVA贪心)
阅读量:722 次
发布时间:2019-03-21

本文共 516 字,大约阅读时间需要 1 分钟。

题目链接:

解题思路

我们可以用r记录能跳到的最右边的点,然后用i遍历每个点能跳到的距离,然后更新能挑到最右边的点。

代码

class Solution {
public boolean canJump(int[] nums) {
int r = 0; //能跳到最右边的点 for (int i = 0; i < nums.length; ++i) {
if (i <= r) {
//如果i小于等于r代表能到达i这个点 r = Math.max(r, i + nums[i]); //更新能达到的最右边的点 if (r >= nums.length - 1) //如果最右边的点超过了数组大小,返回true return true; } } return false; //说明达不到最右边,返回false }}

复杂度分析

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

转载地址:http://bhrrz.baihongyu.com/

你可能感兴趣的文章