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

wordpress手机中文版上海高端seo公司

wordpress手机中文版,上海高端seo公司,网站卖东西怎么做,2023企业所得税300万以上代码训练(21)LeetCode之跳跃游戏2 Author: Once Day Date: 2025年6月4日 漫漫长路,才刚刚开始… 全系列文章可参考专栏: 十年代码训练_Once-Day的博客-CSDN博客 参考文章: 45. 跳跃游戏 II - 力扣(LeetCode)力扣 (LeetCode) 全球极客挚爱…

代码训练(21)LeetCode之跳跃游戏2

Author: Once Day Date: 2025年6月4日

漫漫长路,才刚刚开始…

全系列文章可参考专栏: 十年代码训练_Once-Day的博客-CSDN博客

参考文章:

  • 45. 跳跃游戏 II - 力扣(LeetCode)
  • 力扣 (LeetCode) 全球极客挚爱的技术成长平台

文章目录

      • 代码训练(21)LeetCode之跳跃游戏2
        • 1. 原题
        • 2. 分析
        • 3. 代码实现
        • 4. 总结

1. 原题

给定一个长度为 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 <= 104
  • 0 <= nums[i] <= 1000
  • 题目保证可以到达 nums[n-1]

示例 1:

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

示例 2:

输入: nums = [2,3,0,1,4]
输出: 2
2. 分析

这个问题是一个非常典型的贪心算法问题。我们需要找到从数组的起点到终点的最小跳跃次数。

贪心算法的选择

  • 我们需要在每一步选择能跳得最远的位置,这样可以保证使用最少的跳跃次数。
  • 使用两个变量 endfarthest 分别记录每一次跳跃的结束位置和在这次跳跃中能达到的最远位置。

如何处理

  • 遍历数组,对于每个位置,更新这次跳跃能达到的最远位置 farthest
  • 如果遍历到了 end 所指示的位置,表明完成了一次跳跃,更新 endfarthest,跳跃次数加一。

分析步骤:

  • 初始化 endfarthest 为0,跳跃次数 jumps 为0。

  • 遍历数组中的每个元素,更新能跳到的最远位置 farthest = max(farthest, i + nums[i])

    当索引 i 等于 end,即达到跳跃的边界时:

    如果 i 不是最后一个元素,则更新 endfarthest,跳跃次数 jumps 加一。

    如果已经是最后一个元素,结束循环。

  • 返回跳跃次数 jumps

性能优化关键点

  • 时间复杂度:O(n),因为我们只需要遍历数组一次。
  • 空间复杂度:O(1),使用了常数个额外空间。
3. 代码实现
#include <stdio.h>int jump(int* nums, int numsSize) {int end = 0, farthest = 0;int jumps = 0;for (int i = 0; i < numsSize - 1; i++) {farthest = (i + nums[i] > farthest) ? i + nums[i] : farthest;if (i == end) {end = farthest;jumps++;}}return jumps;
}int main() {int nums[] = {2, 3, 1, 1, 4};int numsSize = sizeof(nums) / sizeof(nums[0]);int result = jump(nums, numsSize);printf("Minimum jumps required: %d\n", result);return 0;
}

这段代码实现了"跳跃游戏2"(Jump Game)问题的解决方案,使用贪心策略。

4. 总结

这个问题考察了对贪心算法的理解和应用。通过局部最优解的迭代,达到全局最优解,是贪心算法的核心思想。了解和熟练掌握贪心算法可以帮助解决很多看似复杂的问题,提升算法设计和问题解决能力。

http://www.dtcms.com/wzjs/353884.html

相关文章:

  • 网站形式抖音搜索优化
  • 展览设计网站有哪些惠州网站排名提升
  • 网站建设总经理岗位职责百度收录提交入口网址是什么
  • 投资网站建设及推广2023年7 8月十大新闻
  • 招标网站的服务费怎么做分录兰州seo外包公司
  • wordpress网站流量推广什么软件可以长期赚钱
  • wap网站制作动态百度百科分类方法
  • 多个wordpress站点同步石家庄热搜
  • 长沙蒲公英网站建设短网址在线生成
  • 网站备案用的幕布可以淘宝做吗seo关键词排名注册价格
  • 建设网站网站建站衡阳seo优化推荐
  • 中央电视台app下载免费视频优化大师下载安装免费
  • 网页设计代码一日游伊露岛网络推广优化方案
  • 贪玩原始传奇官方网站百度指数搜索榜
  • 做微博这样的网站吗软文写作的基本要求
  • 网站的内容做证据观点西安网站建设推广
  • 企业名录在哪里查询seo整体优化步骤怎么写
  • 餐饮公司网站模板郑州技术支持seo
  • 软件开发在哪能看苏州网络推广seo服务
  • 做网站的公司是接入商吗百度账号申诉中心
  • 绵阳的网站建设地推十大推广app平台
  • 物流做网站哪家好关键词挖掘站长
  • 长春火车站疫情网络推广外包公司排名
  • 网站建站上海合肥网络营销公司
  • 做婚恋网站的费用多少360搜索建站
  • 沈阳做企业网站的seo技术培训东莞
  • 深圳网站建设公司 犀牛云 移动云网站优秀网站网页设计分析
  • wordpress禁止生成多个缩略图武汉seo网络优化公司
  • 进出口代理公司关键词排名优化顾问
  • 做网站和网页自己怎么开网站