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

力扣贪心——跳跃游戏I和II

1 跳跃游戏

利用边界进行判断,核心就是判定边界,边界内所有步数一定是最小的,然后在这个边界里找能到达的最远地方。

1.1 跳跃游戏I

在这里插入图片描述

class Solution {
    public boolean canJump(int[] nums) {
        int len = nums.length;
        int maxDistance = 0;
        int temp = 0;
        for(int i = 0;i < len;i++){
            if(i>maxDistance){
                if(temp<i)
                    return false;
                maxDistance = temp;
            }
            temp = Math.max(i+nums[i],temp);
        }
        return true;
    }
}
1.2 跳跃游戏II

设置边界,每次到边界就更新,重点在step遇到边界就更新,然后再到最远距离,每次步数一定+1;
在这里插入图片描述

class Solution {
    public int jump(int[] nums) {
        int len = nums.length -1;
        int step = 0;
        int maxn = 0;
        int distance = 0;
        for(int i = 0;i <= len;i++){
            if(i>maxn){
                maxn=distance;
                step++;
            }
            distance = Math.max(distance,i+nums[i]);
        }
        return step;
    }
}

http://www.kler.cn/news/136080.html

相关文章:

  • 【整顿C盘】pycharm、chrome等软件,缓存移动
  • 记一次线上bug排查-----SpringCloud Gateway组件 请求头accept-encoding导致响应结果乱码
  • pytho你-opencv划痕检测
  • 浅谈无线测温产品在菲律宾某工厂配电项目的应用
  • 手机照片误删解决方法分享
  • Qt中使用QNetworkAccessManager类发送https请求时状态码返回0
  • 【Android】画面卡顿优化列表流畅度六(终篇)
  • 通过easyexcel实现数据导入功能
  • Django 入门学习总结6 - 测试
  • 海康Visionmaster-环境配置:运行出现 Vm.Core.Solu tion 报错的解决方法
  • 开源简历生成器OpenResume
  • requests库出现AttributeError问题的修复与替代方法
  • uniapp小程序定位;解决调试可以,发布不行的问题
  • 麒麟 ZYJ 服务器软件适配 参考示例
  • Minikube Mac安装使用
  • WordPress画廊插件Envira Gallery v1.9.7河蟹版下载
  • C++学习笔记——C++ deque和vector的区别
  • Using Set Processing Effectively 有效地使用集合处理
  • CTF-PWN-小tips
  • 【2023云栖】陈守元:阿里云开源大数据产品年度发布