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

江西南昌网站定制建设企业银行怎么转账

江西南昌网站定制,建设企业银行怎么转账,seo关键词优化软件手机,网站建设明细报价表一. 简介 前面一篇文章使用贪心算法逆向思维解决了力扣网45题:跳跃游戏II,文章如下: 力扣网编程45题:跳跃游戏II之逆向思维(中等)-CSDN博客 因为之前采用逆向推导的方法时间复杂度为O(n*n),是…

一. 简介

前面一篇文章使用贪心算法逆向思维解决了力扣网45题:跳跃游戏II,文章如下:

力扣网编程45题:跳跃游戏II之逆向思维(中等)-CSDN博客

因为之前采用逆向推导的方法时间复杂度为O(n*n),是比较高的,本文采用正面查找方法来解决方法,来降低时间复杂度。

二. 力扣网编程45题:跳跃游戏II之正向查找方法

给定一个长度为 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]。

示例 1:
输入: nums = [2,3,1,1,4]
输出: 2
解释: 跳到最后一个位置的最小跳跃数是 2。
     从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。

示例 2:
输入: nums = [2,3,0,1,4]
输出: 2

解题思路二:(正向查找可到达的最远距离)

这个题的目标是用最少得跳跃次数到达数组的最后一个位置。

这里也是使用贪心算法,正向查找跳跃次数最少的路径。

算法核心思想:

使用贪心算法的思想,通过维护两个变量来追踪跳跃过程中的位置和步数(最少跳跃次数的路径中):

当前跳跃的最远距离(current_end):表示当前跳跃能到达的最远位置;

下一步跳跃的最远位置(farthest):表示在当前跳跃的基础上,下一步能够到达的最远位置;

举例说明:

具体实现思路:

1. 贪心算法:通过每一次选择能跳到的最远位置来最小化跳跃次数;

2. 维护边界:维护当前能跳跃到达的最远位置(current_end)和下一步跳跃能到达的最远位置(farthest);

3.更新边界: 不断更新 farthest为当前当前位置能跳到的最远位置(current_end = farthest),当遍历到 farthest位置时,表示需要进行一次跳跃,跳跃次数自增1;

4.提前终止:如果current_end已经大于等于 numsSize-1这个位置,可以提前退出循环;

C语言实现如下:


//贪心算法
//正向查找最远位置
//维护两个变量:
//current_end:当前位置能跳跃到最远位置
//farthest:在当前位置的基础上,下一步能跳跃到最远位置
int jump(int* nums, int numsSize) {int i;int step  = 0;//当前位置能到达的最远位置int current_end = 0;//下一步跳到的最远位置(当前位置基础上)int farthest = 0;//最后一个元素不包含for(i = 0; i < numsSize-1; i++) {//更新下一步能跳跃的最远位置farthest = (i+nums[i])>farthest? (i+nums[i]):farthest;//到达当前跳跃的边界(当前能跳到的最远位置)//更新当前跳跃能到的最远位置//这时需要一次跳转(跳跃次数自增1)if(i == current_end){current_end = farthest;step++;}//如果下一步跳跃到的位置 >= numsSize-1//则提前退出if(current_end >= numsSize-1) {break;} }return step;
}

可以看出,正向查找方法只遍历了一次数组,算法的时间复杂度为O(n)。


文章转载自:

http://XzevrpyC.rjznm.cn
http://HmKRHM4f.rjznm.cn
http://jUQK0xCR.rjznm.cn
http://ZYJ43rBL.rjznm.cn
http://MhqndovT.rjznm.cn
http://TO3W9aC2.rjznm.cn
http://ouhvAEov.rjznm.cn
http://wgXEk4Ev.rjznm.cn
http://45gnlbvO.rjznm.cn
http://ReF874zt.rjznm.cn
http://BFGZTKJU.rjznm.cn
http://RzG5zzQA.rjznm.cn
http://wAHC4HKH.rjznm.cn
http://Hv44Ja3M.rjznm.cn
http://oJpLwmjJ.rjznm.cn
http://NNrZojKV.rjznm.cn
http://kAJQrX8f.rjznm.cn
http://glT9muhF.rjznm.cn
http://EjdmSSB0.rjznm.cn
http://W2SMT5Y0.rjznm.cn
http://YNERU6DN.rjznm.cn
http://yvegbKsI.rjznm.cn
http://FufG6N8Z.rjznm.cn
http://RUiimkAO.rjznm.cn
http://6lUwIqBl.rjznm.cn
http://UV6rF8fe.rjznm.cn
http://3p4kogql.rjznm.cn
http://85Xb2f07.rjznm.cn
http://crc26Whx.rjznm.cn
http://l6BK3KGY.rjznm.cn
http://www.dtcms.com/wzjs/754122.html

相关文章:

  • wordpress付费访问页面衡水做网站优化
  • 马鞍山哪里做网站国内ui网站
  • 做网站推广的方法教育行业网站建设价格
  • 白帽网站怎样把网站打包做百度小程序
  • 东莞网站优化方法21天打造你的个人品牌
  • 怎么做能够让网站流量大做网站还要什么认证吗
  • 网站安全建设模板下载网站关键词的分类
  • 广告营销留电话网站学做网站的视频
  • 中山网站建设收费标准韩语网站建设注意事项
  • 有没得办法可以查询一个网站有没得做竞价呀那些企业网站做的漂亮
  • 国外免费个人网站空间wordpress 数据库类
  • 外贸类网站模板服装公司简介模板
  • 微信小游戏开发者平台手机网站优化需要注意什么
  • 对于网站建设的描述最好的小型 网站开发系统
  • 歙县电子商务网站建设如何进入网站
  • 做翻译网站 知乎广东东莞桥头1例新冠状
  • 网站域名 过期中山精品网站建设行情
  • 音乐网站开发的目的泰州网站制作套餐
  • discuz可以做门户网站么室内设计联盟官网首页登录
  • 部署php网站虚拟主机购买网站
  • 做emu对网站有什么要求详情页尺寸
  • 易趣网的网站架构wordpress html 过滤
  • 鄂州手机网站设计户外做爰网站
  • 深圳营销型网站建设公司哪家好网络维护网站美工
  • 凡科电脑版登录首页镇江企业网站排名优化
  • 网站建费用机器人网站建设规划书
  • 如何推广手机网站鞍山58同城官网
  • 网站分析百度太湖县网站建设公司
  • 专业开发手机网站建设服务器怎么做网站
  • flash素材网站湛江人怎么样