美文网首页
跳跃游戏

跳跃游戏

作者: 7赢月 | 来源:发表于2020-04-17 14:46 被阅读0次

题目

https://leetcode-cn.com/problems/jump-game/

package main

// [2,3,1,1,4]
func canJump(nums []int) bool {
    if len(nums) == 0 {
        return false
    }
    // 错误处理
    if len(nums) == 1 {
        if nums[0] >= 0 {
            return true
        } else {
            return false
        }
    }
    var ret = make([]bool, len(nums))
    for i := len(nums) - 2; i >= 0; i-- {
        if nums[i] >= len(nums)-1-i {
            ret[i] = true
            continue
        }
        if len(ret) >= nums[i]+i {
            // 遍历能到达的节点
            for j := i; j <= nums[i]+i; j++ {
                if ret[j] {
                    ret[i] = true
                    break
                }
            }
        }
    }
    return ret[0]
}


思路

从后往前遍历数据,每次遍历判断是否能到达最后,若是能,说明改点能jump,赋值true;若是不能赋值false;每个点判断自己能到达的点,若是能达到的点能jump,说明改点也能jump。

相关文章

  • 跳跃游戏

    可以正向扫描数组,记录当前位置可以到达最远的位置,a、游标要小于可以到达最远的位置,否则return false。...

  • 跳跃游戏

    【链接】https://nanti.jisuanke.com/t/18【题目】给定一个非负整数数组,假定你的初始位...

  • 跳跃游戏

    LintCode题目地址给出一个非负整数数组,你最初定位在数组的第一个位置。数组中的每个元素代表你在那个位置可以跳...

  • 跳跃游戏

    给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否...

  • 跳跃游戏

    给出一个非负整数数组,你最初定位在数组的第一个位置。 数组中的每个元素代表你在那个位置可以跳跃的最大长度。 判断你...

  • 跳跃游戏

    在跳跃游戏中,要明白贪心法则的定义。贪心法则:最基本的理解就是,每次选择当前最优的解,到最后就能得到整个问题的最优...

  • 跳跃游戏

    题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/jump...

  • 跳跃游戏

    题目需求 给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断...

  • 跳跃游戏

    题目: 题目的理解: 从index为0开始跳,看是否能跳到最后一位。那么可以反过来思考,从最后一位A向后查,是否有...

  • 跳跃游戏

    题目 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断...

网友评论

      本文标题:跳跃游戏

      本文链接:https://www.haomeiwen.com/subject/pxfyvhtx.html