LeetCode 45.跳跃游戏 II

题目(15¥)

题目地址:https://leetcode-cn.com/problems/jump-game-ii/

题解

一遍遍历,更新能到达的最远下标,当遍历到那个下标的时候跳跃次数+1。

注意:
源码中,令 i = end 的时候 ans++,其实在 i = end = 0 的时候多加了一次,因为 0 这个位置是初始位置,不需要跳跃,所以我们只遍历到 nums.length - 1 的位置,一加一减,正好抵消,代码上比较美观。

源码
class Solution {
    public int jump(int[] nums) {
        int ans = 0;
        int end = 0;
        int maxIndex = 0;

        for (int i = 0; i < nums.length - 1; i++) {
            maxIndex = Math.max(nums[i] + i, maxIndex);
            if (i == end) {
                end = maxIndex;
                ans++;
            }
        }
        return ans;
    }
}
上一篇:Leetcode - 60. 排列序列


下一篇:leetcode07. 整数反转