美文网首页
LeetCode45 跳跃游戏II

LeetCode45 跳跃游戏II

作者: 枫叶忆 | 来源:发表于2019-04-23 23:05 被阅读0次

题目:

给定一个非负整数数组,你最初位于数组的第一个位置。

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

你的目标是使用最少的跳跃次数到达数组的最后一个位置。

示例:

输入:[2,3,1,1,4]输出:2解释:跳到最后一个位置的最小跳跃数是2。     从下标为 0 跳到下标为 1 的位置,跳1步,然后跳3步到达数组的最后一个位置。

说明:

假设你总是可以到达数组的最后一个位置。

使用贪心算法思想

用两个下标,一个记录当前可以到达的最远位置,遍历过程中,只有到该范围最远位置,才更新

另一个记录在第一个记录范围内,下一次可以到达的最远位置。

并在第一个下标更新时,第二个下标赋值给第一个;

class Solution {

    public int jump(int[] nums) {

        if(nums.length < 2){

            return 0;

        }

        //当前可以达到的最远位置

        int cur_max_index = nums[0];

        //遍历过程中,可达最远的位置

        int pre_max_index = nums[0];

        int jump_min = 1;

        for(int i = 0; i < nums.length; i++){

            if(cur_max_index < i){

                jump_min++;

                cur_max_index = pre_max_index;

            }

            if(pre_max_index < nums[i] + i){

                pre_max_index = nums[i] + i;

            }

        }

        return jump_min;

    }

}

相关文章

  • LeetCode45 跳跃游戏II

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

  • 跳跃游戏 II

    题目描述 https://leetcode-cn.com/problems/jump-game-ii/ 解 思路 ...

  • LeetCode 45. 跳跃游戏 II | Python

    45. 跳跃游戏 II 题目来源:https://leetcode-cn.com/problems/jump-ga...

  • 45. 跳跃游戏 II

    最近比较忙,最近两周都没怎么刷题,趁着周末,小刷两道怡下情哈哈 自己解法 这题因为还有印象,就是贪婪算法,去算当前...

  • 45. 跳跃游戏 II

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

  • 跳跃游戏 II 算法swift

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

  • 45. 跳跃游戏II

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

  • 45. 跳跃游戏 II

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

  • 45. 跳跃游戏 II

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

  • 45.跳跃游戏II

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

网友评论

      本文标题:LeetCode45 跳跃游戏II

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