当前位置: 首页 > article >正文

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

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

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

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


http://www.kler.cn/a/298177.html

相关文章:

  • MongoDB基本语法
  • 【C++】priority-queue的底层原理及实现
  • 这10种人不适合干项目经理,你在其中吗?
  • WSL2如何释放占用的磁盘
  • 五星级可视化页面(07):城市交通方向,城市畅通的保障。
  • Android视频编辑:利用FFmpeg实现高级功能
  • SpringBoot教程(二十八) | SpringBoot集成Elasticsearch(Java High Level Rest Client方式)
  • Matlab 声波黑洞捕获波:同时减少声音反射和传播(APL文章)
  • JavaScript 中事件的动态绑定:两种方式及常见事件
  • sdk和API接口的区别
  • 如何使用github build安装yolo v8
  • Result 和 自定义异常 在前后端交互中的作用
  • HTML提交表单给python
  • 【区块链通用服务平台及组件】中金数据云链平台 | FISCO BCOS应用案例
  • [3.4]【机器人运动学MATLAB实战分析】PUMA560机器人正运动学MATLAB计算
  • 【0323】Postgres内核之 hash table sequentially search(seq_scan_tables、num_seq_scans)
  • Ubuntu 22.04网络无法连接的解决方法
  • React-CSS
  • C++的STL标准模板库容器--string类
  • c++知识点总结