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

在线教育网站建设公司站长之家新网址

在线教育网站建设公司,站长之家新网址,做网站推广优化哪家好,昆山张浦做网站题目链接 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j < nums[i]i j < n 返回到达 nums[n…

题目链接

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

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

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

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

  • 1 <= nums.length <= 10^4
  • 0 <= nums[i] <= 1000
  • 题目保证可以到达 nums[n-1]

这题借鉴了跳跃游戏的第一个解法的思路。

也就是找出并跳到[i,i+nums[i]]范围里索引+值最大的一个。

你每一步可以跳得更远才能更快得到达目的地。这就是每一步最优的贪心算法。

/*** @param {number[]} nums* @return {number}*/
var jump = function(nums) {if(nums.length===1){return 0;}let i = 0;let nextIndex;let maxVal = 0;let minStep=0;while (i + nums[i] < nums.length - 1) {for (let j = i + 1; j <= i + nums[i]; j++) {if (j + nums[j] > maxVal) {nextIndex = j;maxVal = j + nums[j];}}maxVal = 0;i = nextIndex;minStep++;}return minStep+1;
};

时间复杂度: O ( n ∗ M a x ( n u m s [ i ] ) ) O(n * Max(nums[i])) O(nMax(nums[i]))

空间复杂度: O ( 1 ) O(1) O(1)

上面的方法是主动寻找j+nums[j]最大值,我们可以维护一个最大可达位置maxReach来被动的求出最大值。

/*** @param {number[]} nums* @return {number}*/
var jump = function(nums) {let maxReach=0;let step=0;let jumpBorder=0;for(let i=0;i<nums.length-1;i++){maxReach=Math.max(maxReach,i+nums[i]);if(i===jumpBorder){step++;jumpBorder=maxReach;}}return step;
};

为什么是nums.length-1

该算法阐述了一个过程:每次达到上一次跳跃的位置的可跳跃边界时,step++提前跳跃,跳到这一阶段的maxReach对应的位置,当然我们不需要知道这个位置,而i达到nums.length-1时,就不要再跳了,因为每次到达边界时我们就提前跳了,就不会漏一次。

http://www.hrbkazy.com/news/3388.html

相关文章:

  • 云虚拟主机发布wordpressseo经验是什么
  • 新手怎么学做网站深圳优化公司义高粱seo
  • 怎么做网站后期维护网站网络排名优化方法
  • 网站备案信息真实性核验单流程软文推广的好处
  • 石家庄兼职做网站seo顾问服务 品达优化
  • 基层建设是哪个网站的seo网络优化教程
  • 遵义企业做网站百度营销网页版
  • 怎么看一个网站是否被k竞价外包推广
  • 免费做问卷的网站泰州seo网站推广
  • 东山网站建设中国唯一没有疫情的地方
  • 办公空间设计思路自建站seo如何做
  • 广东建设人才网站重庆百度seo代理
  • 免费做计算机题的网站今日热点新闻排行榜
  • 公司官网登录入口梁水才seo优化专家
  • 正品率最高的购物网站seo推广价格
  • 漯河做网站xknt世界新闻
  • 做网站的大创结项网络推广哪家做得比较好
  • 天津网站建设zmad免费发帖推广平台有哪些
  • 一站式网站建设行业新航道培训机构怎么样
  • 做个个人网站要怎么做百度知道登录
  • 赣州市开发小程序网上seo研究
  • ui网站开发报价网络营销企业网站推广
  • 老牌网站建设人工智能培训机构排名
  • 网页客服系统源码广州seo优化推广
  • wordpress做网站怎么样seo优化是利用规则提高排名
  • 南昌网站排名优化报建站模板哪个好
  • 网站开发汇报的ppt软文营销的技巧有哪些?
  • 企业邮箱怎么使用深圳正规seo
  • 苹果网站用什么做的吗免费seo视频教程
  • 视频网站做cpa交换友情链接的目的