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

力扣HOT100-跳跃游戏II

给定一个长度为 n 的 0 索引整数数组 nums。初始位置在下标 0。

每个元素 nums[i] 表示从索引 i 向后跳转的最大长度。换句话说,如果你在索引 i 处,你可以跳转到任意 (i + j) 处:

  • 0 <= j <= nums[i] 且
  • i + j < n

返回到达 n - 1 的最小跳跃次数。测试用例保证可以到达 n - 1

代码:

class Solution {
public:int jump(vector<int>& nums) {int n=nums.size();int current_end=0;//本次跳跃的最远位置int fastest=0;//下次可以跳到的最远位置int times=0;if(n<=1) return times;for(int i=0;i<n;++i){fastest=max(fastest,i+nums[i]);if(i==current_end){current_end=fastest;times++;if(current_end>=n-1){return times;}}}return times;}
};

解题思路:使用贪心策略。用current_end记录本次跳跃可到的最远位置,记录每个位置可跳跃到的最远位置,用它们的最大值不断更新fastest。这样当i==current_end时,fastest的值就是本次跳跃中可到达的下次跳跃的最远位置,直接用fastest更新current_end,最终得到的times就是到达n-1位置的最小跳跃次数。

时间复杂度:O(n)
算法中只有一个 for 循环,遍历了数组一次(从索引 0 到 n-2)
循环内部的操作(比较、赋值等)都是常数时间 O (1)
因此整体时间复杂度为 O (n),其中 n 是数组 nums 的长度
空间复杂度:O(1)
算法只使用了有限的几个额外变量(jumps、current_end、farthest 等)
这些变量的数量与输入规模 n 无关,不随 n 的变化而变化
因此空间复杂度为常数阶 O (1)

http://www.dtcms.com/a/412254.html

相关文章:

  • 秦皇岛网站排名公司网站被iframe
  • php网站登录系统怎么做网页美工设计主要从哪些方面设计
  • 网站开发问卷调查题最新的新闻内容
  • 无人机航电系统散热技术要点
  • 网站中的链接是一个一个html做的美工做图哪个网站好
  • 企业网站首页设计原则有没有免费的小程序制作
  • 1、计算机网络体系结构
  • 镇江做网站的同ip下网站
  • 用trea导入keil的ARM工程
  • 大豆套种技术详解:与玉米协同生长实现亩产双增技巧
  • 网站的不同类有没有帮人做机械设计的网站
  • 品牌网站首页设计新网站备案查询
  • 重庆市渝兴建设投资有限公司网站最稳定的免费的资源共享网站
  • 【Nginx开荒攻略】第一个Nginx服务器配置:监听端口、根目录与默认首页完全指南
  • 关于室内设计的网站有哪些网站建设设计原则
  • 徐州低成本建站上海闵行区租房价格
  • 旅游网站建设哪家好用网站开发角度去开发一个网站
  • 中山中小企业网站建设企业网站设计
  • burpsuite网络安全学院: JWT attacks靶场通关
  • 建设网站不会写代码雅思培训
  • STM32中的Flash、ROM与RAM全解析
  • h5网站开发实例教程vs网站开发实例
  • 网站建设计划时间节点网页和网站的联系
  • 建设好的网站怎么发布IT科技资讯新闻类织梦网站模板
  • 苏州园区做网站公司山西省建设厅网站首页6
  • 详细对比web请求post和put方法
  • 云南效果好的网站优化公司网站的建设要注意什么
  • 建网站哪个好化妆品网站的建设目标
  • 建立网站的目的和意义注册记账代理公司注册
  • 融合多元定位技术,帮助应用破解精准定位难题