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

建立化妆品网站功能西安企业做网站

建立化妆品网站功能,西安企业做网站,厦门网站设计公司找哪家福建小程序开发,做静态网站需要什么45. 跳跃游戏 II 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向后跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j < nums[i]i j < n 返回到达 num…

45. 跳跃游戏 II

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

先分析题目给的第一个例子

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

从起点开始i=0,nums[i]=2,可以跳到i=1或i=2的位置。

  • 如果跳到i=1处,由于nums[i]=3那么接下来最远可以跳到i=4处。
  • 如果跳到i=2处,由于nums[i]=1,那么接下来最远可以跳到i=3处。

显然,我们要跳到i=1处,接着跳到i=4处,此时到达终点。在每一步中我们都尝试找到能让我们跳得最远的位置,从而确保在最少的跳跃次数内到达数组的最后一个位置。

那么这道题的贪心策略可以这样描述:

在任意一个起始点i上,我们不仅要考虑从该点可以直接跳跃的最大长度(nums[i]),还要考虑在这个范围内所有可能的下一步跳跃位置,并从中选择一个使得我们能够到达最远距离的位置进行跳跃。也就是 i + j + n u m s [ i + j ] , 其中 1 < = j < = n u m s [ i ] i+j+nums[i+j],其中1<=j<=nums[i] i+j+nums[i+j],其中1<=j<=nums[i]的最大值。

代码

int jump(vector<int>& nums) {int time = 0;int n = nums.size(), i = 0;while (i < n - 1) {if (i + nums[i] >= n - 1) {time++;break;}int max = 0, maxIndex = 0;for (int j = 1; j <= nums[i]; j++) {if (i + j + nums[i + j] > max) {max = i + j + nums[i + j];maxIndex = i + j;}}i = maxIndex;time++;}return time;
}

除此之外还有一种贪心解法,我们的目标是到达数组最后一个位置,因此我们可以考虑最后一步跳跃前所在的位置,从起点往终点开始搜索,显然会出现有多个位置都可以跳跃到数组的最后一个位置的情况,那么我们选取距离最远的那个位置,找到一次跳跃前的位置后,继续按照这样的步骤,一直找到开始位置为止。

代码

int jump(vector<int>& nums) {int time=0;int position=nums.size()-1;while(position>0){for(int i=0;i<position;i++){if(i+nums[i]>=position){time++;position=i;break;}}}return time;
}
http://www.jinmujx.cn/news/113603.html

相关文章:

  • 空白网站怎么建立网站注册地址
  • wordpress 中表格 宽度湖南专业关键词优化服务水平
  • 企业网站的特点是什么制作网站
  • 有没有好的网站可以学做头发重庆seo排名方法
  • 柳州论坛深圳网站快速排名优化
  • 织梦 网站设计企业网站制作
  • 建设微网站的特色百度大搜是什么
  • 一个网站开发语言广州专业seo公司
  • java做网站的流程百度推送
  • 信宜网站建设直通车推广计划方案
  • 抖音同城引流推广怎么做长沙seo工作室
  • 淘宝网站建设哪个类目东莞做网站最好的是哪家
  • 网站分析表怎么做的网络营销专业是做什么的
  • 京东联盟网站建设电脑版最新域名查询
  • 做网站跟推广哪家公司好优化大师电脑版
  • 网上购物系统软件开发天门seo
  • dw做的网站怎么上传武汉seo外包平台
  • 做网站需要买什么seo顾问培训
  • 公职单位建设网站的目的网络营销渠道类型有哪些
  • 外贸接单网站哪个好用seo技巧分享
  • 洪泽区做网站网络营销课程思政
  • pc蛋蛋网站开发自己怎么做关键词优化
  • layui做的网站it教育培训机构排名
  • 国内flex做的网站国内真正的永久免费砖石
  • 黄冈建设信息网站广告投放公司
  • 高端网站开发制作企业网站建设方案书
  • 前端做项目的网站鞍山seo优化
  • 南昌专业做网站百度统计网站
  • 郑州做网站好seo网络优化公司
  • 福州全网网站建设公司网站开发费用