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

太原站还建综合楼爱建站吧

太原站还建综合楼,爱建站吧,做彩票网站的方案,2345网址导航智能主版题目描述给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处:0 < j < nums[i] i j < n返回到达 nums[n - 1] 的…

题目描述

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

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

  • 0 <= j <= nums[i]

  • i + j < n

返回到达 nums[n - 1] 的最小跳跃次数。生成的测试用例可以到达 nums[n - 1]。

解析

这道题最容易想到的解法就是回溯法,通过DFS,将所有的情况都算出来,但是这样算的话,时间复杂度将达到O(n^2),容易超时。所以需要对该题进行一番分析,通过题目描述,看起来很像f(n-1)求f(n)的样子,即动态规划求解,但是这道题又不是常规的动态规划,通过下面简单的例子进行分析:

上面是一个长度为7的数组,最少用3步就可以达到末尾:index=[0,1,4]。

我们可以这样分析,在n步想跳到最远的地方,那么一定是从第n-1步才能够跳到的地方起步的,如下图,如果从index=0开始跳跃的话,绿色部分的两个位置至少跳跃1次才能达到,蓝色部分的两个位置至少要跳跃2次才能达到,红色部分的两个位置至少要跳跃3次才能达到。所以是在前面最优的区段内求下一次能够跳跃到的区段,实际还是动态规划。

因此,我们可以循环遍历数组,通过临时变量记录当前能够跳跃的最远距离,同时还要记录第N次能够跳跃到的最远的位置,当遍历到这个位置的时候,说明跳跃次数需要加1才能往后面进行。

代码

public int jump(int[] nums) {int maxPos = 0;int jumpNumMaxIndex = 0;int jumpNum = 0;for (int i = 0; i < nums.length - 1; i++) {maxPos = Math.max(i + nums[i], maxPos);if (jumpNumMaxIndex == i) {jumpNumMaxIndex = maxPos;jumpNum++;}}return jumpNum;}

http://www.yayakq.cn/news/765578/

相关文章:

  • 网站源代码查看济宁市做网站
  • 四川省德阳市建设招投标网站策划书封面
  • 怎么做自己的网站推广产品新做好的网站如何做seo
  • frp可以做网站吗秦皇岛做网站的公司
  • 四川新正路桥建设工程有限公司网站一台服务器可以建设几个网站
  • 在哪里可以做网站赚钱人工智能就业方向及前景
  • 怎么做flash网站设计常见c2c网站有哪些
  • 莒县网站制作公司衡水wap网站建设
  • 做组织架构图的网站phpcms获取网站名称
  • 淘宝上做网站的信得过吗wordpress 允许函数
  • 需要网站建设的人多吗株洲新站建设
  • 涟水县住房和城乡建设局网站专门做推荐的网站
  • 咸阳市建设银行网站生成网站有吗免费的
  • 重庆网站定制公司西安网络营销推广咨询
  • 做网站客户需求手机评测网
  • 网站模板如何优化友情贴吧
  • 网站建设与维护设计大作业wordpress文章中带轮播图
  • 网站建设开发模式全国高风险和中风险地区名单
  • 厦门网站开发公司哪家好阿里云主机网站开发
  • 为什么做的网站要续费西安做软件的公司
  • 网站备案增加域名解析龙岩新罗区
  • 长沙建网站一般多少钱建设网站我们重中之重-用户体验
  • 找券网站怎么做wordpress 追格时光轴购物主题
  • 网站开发项目详细计划书网页设计公司网站设计
  • 深圳最火的网站文创产品设计分析
  • 郑州网站推广排名公司智慧团建手机登录入口
  • 北京++网站建设咨询顾问公司写作参考范文网站
  • 深圳网站建设分期付wordpress+爱情主题公园
  • 国通快速免费建站西安稳定的seo
  • 知名网站欣赏长沙中小企业做网站