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;
    }
}

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

相关推荐
小刘的AI小站7 分钟前
leetcode hot100 二叉搜索树
算法·leetcode
自信的小螺丝钉8 分钟前
Leetcode 876. 链表的中间结点 快慢指针
算法·leetcode·链表·指针
红豆怪怪9 分钟前
[LeetCode 热题 100] 32. 最长有效括号
数据结构·python·算法·leetcode·动态规划·代理模式
参.商.10 分钟前
【Day21】146.LRU缓存 (Least Recently Used)
leetcode·缓存·golang
愚润求学15 分钟前
【贪心算法】day6
c++·算法·leetcode·贪心算法
AI 嗯啦26 分钟前
计算机的排序方法
数据结构·算法·排序算法
沐怡旸34 分钟前
【底层机制】右值引用是什么?为什么要引入右值引用?
c++·面试
l12345sy39 分钟前
Day23_【机器学习—聚类算法—K-Means聚类 及评估指标SSE、SC、CH】
算法·机器学习·kmeans·聚类·sse·sc·ch
_Coin_-1 小时前
算法训练营DAY58 第十一章:图论part08
数据结构·算法·图论
scx201310041 小时前
P13929 [蓝桥杯 2022 省 Java B] 山 题解
c++·算法·蓝桥杯·洛谷