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

leetcode刷题日记——跳跃游戏

[ 题目描述 ]:
在这里插入图片描述

[ 思路 ]:

  • 题目要求在给出的每次可移动最大步数中选择一个移动步数,如果有一种选择能达到终点就返回true,如果没有一种选择能够达到终点就返回false
  • 因为每次给出的最大步数不同,步数越大,也就使得探索空间变得更大,那么我们可以先缩小探索空间,再慢慢增加探索空间
  • 例如 [2,3,1,1,4]
  • 假设我们目前能探测只有nums[0],从nums[0]获取到两个步数,那么可以达到的距离变为index+2,即到nums[2],计算0~2中index+step的最大值也就是新的最大距离,然后在新的最大距离在中去寻找能够达到的最大距离;
    • 如果能探索到的最大距离中没有能达到或超过数组长度-1的,即无法到达
    • 如果能够达到或超过数组长度-1的,即能够到达
      在这里插入图片描述
bool canJump(int* nums, int numsSize) {
    int index=0,len=0;
    while(index<=len&&index<numsSize){
        if(index+nums[index]>len){
            len=index+nums[index];
        }
        index++;
    }
    if(len>=numsSize-1) return true;
    return false;
}

[ 优化 ]:

  • 时间复杂度为O(n),空间复杂度为O(1)

[ 官方题解 ]:

  • 一、贪心,即上述算法
http://www.dtcms.com/a/99744.html

相关文章:

  • vLLM 部署 InternVL2_5
  • Gogs 精简备份与恢复方案(仅SQLite数据库和配置)
  • 逻辑回归(Logistic Regression)模型的概率预测函数
  • Gateway实战(一)、网关基本了解、配置路由案例实操
  • YOLOv8环境配置及依赖安装过程记录
  • 爬虫工程师分享自动批量化获取商品评论数据的方法有哪些?
  • Linux中CP到一半不小心kill了能恢复吗?
  • SAP SD学习笔记36 - BackOrder(延期交货订单处理)
  • Stable Diffusion太慢?国内Midjourney平替方案—商用合规部署
  • AI Agent开发大全第十四课-零售智能导购智能体的RAG开发理论部分
  • 从分布式系统架构看LPL饭圈生态:开发者视角下的博弈平衡与演化逻辑
  • 【vue】聊一聊拖拽改变DOM大小的实现
  • Redis场景问题2:缓存击穿
  • VMware笔记之windows的vmware17pro中的ubuntu22.04调整系统空间大小
  • C#里实现C#脚本单步执行的信息提示
  • 算法 之 求解有向图和无向图的环的长度
  • CSS学习笔记4——盒子模型
  • IO模型之于并发编程模型、并发模型之于架构模式
  • 破界·共生:生成式人工智能(GAI)认证重构普通人的AI进化图谱
  • SpringCould微服务架构之Docker(6)
  • 【C#】C#字符串拼接的6种方式及其性能分析对比
  • Axure项目实战:智慧运输平台后台管理端-货主管理(中继器)
  • 21 python __name__ 与 __main__
  • Java中的String类
  • 智能巡检机器人:2025年企业安全运维的“数字哨兵“
  • Vue 3 中 slot插槽的使用方法
  • 最大子序和 买股票的最佳时机|| 跳跃游戏
  • 【计算机网络】深入解析TCP/IP参考模型:从四层架构到数据封装,全面对比OSI
  • 面经-项目
  • 革新测试管理 2.0丨Storm UTP统一测试管理平台智能化升级与全流程优化