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

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

相关推荐
2401_872418785 小时前
算法入门:数据结构-堆
数据结构·算法
xwz小王子6 小时前
手术机器人登上Science Robotics:2毫米纤细手臂,从3厘米切口完成腰椎神经减压
算法·机器人
笑尘~Y7 小时前
每日技术面试高频题精选
面试
拼尽全力前进7 小时前
Guava Cache vs Caffeine 面试详解
面试·职场和发展·guava
黎阳之光7 小时前
视频孪生智护供水生命线:黎阳之光赋能医疗与园区水务高质量升级
运维·物联网·算法·安全·数字孪生
Black蜡笔小新8 小时前
自动化AI算法训练服务器DLTM制造业AI质检工作站助力制造业实现AI智检
人工智能·算法·自动化
嵌入式小能手8 小时前
飞凌嵌入式ElfBoard-进程间的通信之命名管道
linux·服务器·算法
啦哈拉哈8 小时前
Leetcode题解记录-hot100(81-100)
算法·leetcode·职场和发展
csdn_aspnet8 小时前
Java 霍尔分区算法(Hoare‘s Partition Algorithm)
java·开发语言·算法
诸葛务农9 小时前
道路行驶条件下电动汽车永磁电机的有效使用寿命及永磁体的失效和回收再利用(下)
java·开发语言·算法