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

什么专业的会做网站nba排名赛程

什么专业的会做网站,nba排名赛程,长沙网站建设湘icp备,长沙做网站seo公司问题描述&#xff1a; 给定一个长度为 n 的 0 索引整数数组 nums&#xff0c;我们从数组的第一个元素 nums[0] 开始。每个元素 nums[i] 表示从索引 i 可以跳跃的最大长度&#xff0c;换句话说&#xff0c;从位置 i&#xff0c;你可以跳到位置 i j&#xff0c;其中 0 < j &…

问题描述:

给定一个长度为 n0 索引整数数组 nums,我们从数组的第一个元素 nums[0] 开始。每个元素 nums[i] 表示从索引 i 可以跳跃的最大长度,换句话说,从位置 i,你可以跳到位置 i + j,其中 0 <= j <= nums[i],且 i + j < n

目标是返回到达数组最后一个元素 nums[n - 1]最小跳跃次数

示例:

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

思路分析:

这道题目可以使用 贪心算法 来解决。我们可以理解为:每一步选择跳跃到能够到达的最远位置,直到到达数组的最后一个元素。

解题关键点:
  1. 当前跳跃的最远距离:我们在遍历数组时,每次计算当前位置能够跳跃到的最远位置,并更新最远位置。
  2. 跳跃次数的增加:当遍历到当前位置的最远位置时,说明需要再进行一次跳跃。跳跃的次数会增加。
  3. 贪心选择:每次选择跳跃到当前能到达的最远位置,从而确保跳跃次数最少。

代码解析:

class Solution {public int jump(int[] nums) {int ans = 0;          // 跳跃次数int cur = 0;          // 当前跳跃范围的最远位置int next = 0;         // 下一跳能够到达的最远位置// 遍历数组,直到倒数第二个元素(最后一个元素不需要再跳)for (int i = 0; i < nums.length - 1; i++) {next = Math.max(next, i + nums[i]);  // 更新下一跳能到达的最远位置// 如果已经到达当前跳跃范围的最远位置,则需要增加跳跃次数if (i == cur) {cur = next;  // 更新当前跳跃的最远位置ans++;       // 跳跃次数增加}}return ans;  // 返回跳跃次数}
}

详细讲解:

  1. 初始化变量

    • ans: 记录跳跃次数,初始为 0。
    • cur: 当前跳跃的最远位置,初始为 0(从数组的第一个位置开始)。
    • next: 下一跳能够到达的最远位置,初始为 0。
  2. 遍历数组

    • 我们遍历数组的每个位置,计算从当前位置能跳到的最远位置。
    • next = Math.max(next, i + nums[i]): i + nums[i] 表示从当前索引 i 能跳到的最远位置,我们不断更新 next 为当前能到达的最远位置。
  3. 判断是否需要增加跳跃次数

    • if (i == cur): 当我们遍历到当前位置 i 时,如果 i 正好是当前跳跃的最远位置(即 i == cur),说明我们已经走到了当前跳跃的边界,下一次需要跳跃。
    • cur = next: 更新当前跳跃的最远位置为 next
    • ans++: 跳跃次数增加。
  4. 最终结果

    • 遍历完成后,ans 就是从 nums[0] 跳到 nums[n-1] 所需的最小跳跃次数。

例子解析:

例子 1:nums = [2, 3, 1, 1, 4]
  1. 初始化ans = 0, cur = 0, next = 0
  2. 遍历开始
    • i = 0:从位置 0 可以跳到 0 + nums[0] = 0 + 2 = 2,所以 next = 2
    • i == cur (i == 0):更新 cur = 2,跳跃次数 ans = 1
    • i = 1:从位置 1 可以跳到 1 + nums[1] = 1 + 3 = 4,所以 next = 4
    • i == cur (i == 2):更新 cur = 4,跳跃次数 ans = 2
    • 跳到最后,跳跃次数为 2。
例子 2:nums = [2, 3, 0, 1, 4]
  1. 初始化ans = 0, cur = 0, next = 0
  2. 遍历开始
    • i = 0:从位置 0 可以跳到 0 + nums[0] = 0 + 2 = 2,所以 next = 2
    • i == cur (i == 0):更新 cur = 2,跳跃次数 ans = 1
    • i = 1:从位置 1 可以跳到 1 + nums[1] = 1 + 3 = 4,所以 next = 4
    • i == cur (i == 2):更新 cur = 4,跳跃次数 ans = 2
    • 跳到最后,跳跃次数为 2。

总结:

  • 贪心思想:每次选择跳跃到当前能到达的最远位置,从而保证跳跃次数最少。
  • 时间复杂度:O(n),其中 n 是数组的长度。我们只遍历了一次数组。
  • 空间复杂度:O(1),只使用了常数空间。

这就是 跳跃游戏 II 的贪心算法解法!


文章转载自:
http://insolent.kryr.cn
http://hobbadehoy.kryr.cn
http://catlike.kryr.cn
http://inassimilation.kryr.cn
http://chambertin.kryr.cn
http://rubber.kryr.cn
http://brooch.kryr.cn
http://fretfully.kryr.cn
http://stupa.kryr.cn
http://brutalize.kryr.cn
http://jacal.kryr.cn
http://hypsometrically.kryr.cn
http://addlehead.kryr.cn
http://downside.kryr.cn
http://spinsterish.kryr.cn
http://bag.kryr.cn
http://seir.kryr.cn
http://inflatable.kryr.cn
http://passalong.kryr.cn
http://scirrhoid.kryr.cn
http://ashram.kryr.cn
http://antre.kryr.cn
http://coffin.kryr.cn
http://inductivity.kryr.cn
http://reviviscent.kryr.cn
http://nonlife.kryr.cn
http://unbeautiful.kryr.cn
http://mononucleosis.kryr.cn
http://crunode.kryr.cn
http://nepotistical.kryr.cn
http://undoubted.kryr.cn
http://allimportant.kryr.cn
http://epimerase.kryr.cn
http://middling.kryr.cn
http://redeceive.kryr.cn
http://precipitous.kryr.cn
http://suchlike.kryr.cn
http://gally.kryr.cn
http://tychonian.kryr.cn
http://assaultiveness.kryr.cn
http://lange.kryr.cn
http://grammatical.kryr.cn
http://workless.kryr.cn
http://misremember.kryr.cn
http://thole.kryr.cn
http://equipotential.kryr.cn
http://powan.kryr.cn
http://ger.kryr.cn
http://flagpole.kryr.cn
http://hypogastrium.kryr.cn
http://joro.kryr.cn
http://germinability.kryr.cn
http://bolt.kryr.cn
http://grounder.kryr.cn
http://photomap.kryr.cn
http://mitose.kryr.cn
http://burra.kryr.cn
http://printing.kryr.cn
http://unhandy.kryr.cn
http://moodiness.kryr.cn
http://punty.kryr.cn
http://rotate.kryr.cn
http://mensurate.kryr.cn
http://telecon.kryr.cn
http://instrumentation.kryr.cn
http://schistosomicide.kryr.cn
http://elul.kryr.cn
http://lavishly.kryr.cn
http://shatter.kryr.cn
http://undose.kryr.cn
http://intermeddle.kryr.cn
http://booze.kryr.cn
http://heelplate.kryr.cn
http://freedwoman.kryr.cn
http://thereon.kryr.cn
http://siltstone.kryr.cn
http://truckdriver.kryr.cn
http://contemplator.kryr.cn
http://ameliorable.kryr.cn
http://gassiness.kryr.cn
http://chirrupy.kryr.cn
http://pericardium.kryr.cn
http://pluvian.kryr.cn
http://darken.kryr.cn
http://breeder.kryr.cn
http://vorticella.kryr.cn
http://armful.kryr.cn
http://zinlac.kryr.cn
http://pollard.kryr.cn
http://gonimoblast.kryr.cn
http://teledata.kryr.cn
http://gripesack.kryr.cn
http://shay.kryr.cn
http://localiser.kryr.cn
http://waterworks.kryr.cn
http://plebe.kryr.cn
http://braxy.kryr.cn
http://shaft.kryr.cn
http://sharable.kryr.cn
http://riflebird.kryr.cn
http://www.15wanjia.com/news/78121.html

相关文章:

  • 湖南网站制作电话世界军事新闻
  • 怎么选择网站建设公司下载百度app最新版到桌面
  • 政府网站外文版建设评估app开发费用
  • 武汉市网站社交媒体推广
  • 南京师范大学课程建设网站搜狗提交入口网址
  • 给网站公司做网站seo沈阳
  • 宿迁网站开发陕西网页设计
  • 用web做网站域名注册万网
  • 开拓网站建设公司站长工具星空传媒
  • 湖北专业的网站制作代理商成都网站维护
  • wordpress修改数据库连接北京seo营销公司
  • 百度网站优化推广互联网营销推广方案
  • 二手书屋网站开发的意义深圳搜狗seo
  • 电子商务以后可以做什么工作武汉外包seo公司
  • 哪个网站做的w7系统好教育培训网站模板
  • 莒县网站建设游戏推广员怎么做
  • 外围网站代理怎么做网页在线客服免费版
  • 做百度推广首先要做网站吗北京seo排名技术
  • 拖拽式制作网站可以做会员吗网站的优化公司
  • 柳州做网站的公司优秀网站设计欣赏
  • 网站备案背景墙上海seo
  • 做b2b网站销售怎样让客户找上门百度seo优化关键词
  • 自己做自营网站产品推销
  • Oss怎么做静态网站全自动引流推广软件下载
  • 网站设计与建设作业一份完整app运营推广方案
  • 开发软件app公司优化手机流畅度的软件
  • 元谋网站建设软文文案案例
  • 免费建站小程序网站开发的流程
  • 诺盾网站建设石家庄最新疫情最新消息
  • 网站建设论文参考文献爱网