Leetcode面试经典150题-55.跳跃游戏

解法都在代码里,不懂就留言或者私信

java 复制代码
class Solution {
    public boolean canJump(int[] nums) {
        /**如果就一个位置,你本来就在这,肯定可以跳到*/
        if(nums.length == 1) {
            return true;
        }
        /**这个题的解题思路是遍历数组,如果当前位置不在之前最大可以跳到的范围内,那这一步直接就到不了,返回false
       否则试试当前位置+它的值能不能把最大可以跳到的位置变得更远,如果走到最后一个位置得时候这个位置还是最大可以跳到得范围内,那就是可以跳到*/
        /**现在就在0位置,即使不跳也能到0位置,所以max设置为0*/
        int max = 0;
        for(int i =  0; i < nums.length; i++) {
            /**之前跳得最大范围都到不了i,返回false */
            if(i > max) {
                return false;
            }
            /**如果能跳到看看i位置+它能跳得最大距离能不能把max变大 */
            max = Math.max(max, i + nums[i]);
        }
        /**遍历完数组都还没有返回,说明所有位置都能跳到,返回true */
        return true;
    }
}

常数时间或者遍历啥的实在不想优化了,就这样吧

相关推荐
地平线开发者5 小时前
J6B vio scenario sample
算法
Ruihong12 小时前
Vue withDefaults 转 React:VuReact 怎么处理?
vue.js·react.js·面试
kyriewen13 小时前
别再这样写 async/await 了:我在 Code Review 中见过最多的 8 个错误
前端·javascript·面试
BothSavage17 小时前
Trae远程开发中DeepSeek自定义模型4054错误的排查与修复
算法
小林ixn17 小时前
从暴力到KMP:一道题彻底搞懂字符串匹配的前世今生
算法
烬羽18 小时前
字符串算法入门:从反转字符串到回文判断,面试不再慌
算法·面试
云技纵横18 小时前
一个 @Async,把 @Transactional 的事务边界打穿了
后端·面试
想要成为糕糕手19 小时前
Harness Engineering:大模型时代的“马鞍”——从记忆层开始,让AI真正为你所用
面试·ai编程·claude