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

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

相关推荐
小O的算法实验室1 小时前
ASOC,分层分数阶粒子群算法+无人机电场路径规划
算法
傅科摆 _ py1 小时前
链表力扣复习
数据结构·leetcode·链表
重生之小比特1 小时前
【算法拾光】二分查找|搜索插入位置 + x 的平方根
算法
智购科技自动售卖机厂家1 小时前
双摄像头方案F1-score只有0.85,排查发现是上下视角的融合逻辑写反了~YH
python·单片机·嵌入式硬件·算法·eclipse
Rain的Java大神之路3 小时前
MySQL 被高并发打爆?从定位到分库分表逐层拆解(含秒杀库存实战)
java·后端·面试
?abc!3 小时前
(动态规划+DFS)494. 目标和
算法·深度优先·动态规划
信奥卷王3 小时前
[GESP202406 六级] 二叉树(含视频)
数据结构·算法
惊鸿一博3 小时前
Plücker直线_ 用两个三维向量描述一条空间直线
线性代数·算法·直线·几何表示
小道士写程序3 小时前
Rust 中的字符串与切片(String 与 &str)
算法
圣保罗的大教堂3 小时前
leetcode 3863. 将一个字符串排序的最小操作次数 中等
leetcode