辽阳专业网站开发公司设计师一般放作品的网站

张小明 2026/1/10 8:24:30
辽阳专业网站开发公司,设计师一般放作品的网站,海城建设网站,铜仁公司做网站哈喽各位#xff0c;我是前端小L。 欢迎来到贪心算法专题第五篇#xff01; 想象一下#xff0c;你站在一个长长的走廊里#xff0c;地面上标着数字。每个数字代表你在当前位置最多能向前跳几步#xff08;你可以跳满#xff0c;也可以只跳一步#xff09;。 你的目标很…哈喽各位我是前端小L。欢迎来到贪心算法专题第五篇 想象一下你站在一个长长的走廊里地面上标着数字。每个数字代表你在当前位置最多能向前跳几步你可以跳满也可以只跳一步。 你的目标很简单判断你能否从起点一直跳到终点这道题容易陷入的一个误区是纠结于“我是跳 1 步好还是跳 2 步好”。 如果我们去模拟每一种跳法那这就变成回溯问题了复杂度会很高。贪心算法告诉我们别纠结具体跳几步只看你最远能覆盖到哪力扣 55. 跳跃游戏https://leetcode.cn/problems/jump-game/题目分析输入非负整数数组nums。规则nums[i]代表你在位置i的最大跳跃长度。目标判断是否能到达最后一个下标。例子 1[2, 3, 1, 1, 4]在下标 0数值2最远能覆盖到下标 2。我们走到下标 1数值3最远能覆盖到下标1 3 4。既然能覆盖到 4即终点那就返回true。例子 2[3, 2, 1, 0, 4]在下标 0数值3最远覆盖到 3。在下标 1数值2最远覆盖到1 2 3。在下标 2数值1最远覆盖到2 1 3。在下标 3数值0最远覆盖到3 0 3。无论如何都跨不过下标 3 这个坎到不了终点 4。返回false。核心思维维护“最大覆盖范围”我们要把问题转化为在这个覆盖范围内我能不能把覆盖范围进一步扩大Cover: 我们维护一个变量cover表示当前最远能走到的下标。初始时我们在起点cover 0。移动我们在0到cover的范围内遍历每一个位置i。注意我们只能在cover范围内移动如果你当前的位置i已经超过了cover说明你根本跳不到这儿游戏结束。更新对于遍历到的位置i我们计算这一跳能达到的最远距离i nums[i]。如果i nums[i]比当前的cover还要大我们就更新cover。判定一旦cover nums.size() - 1终点下标说明终点已经被覆盖了直接返回true。贪心策略不管我怎么跳我每一步都尽可能去更新最大的覆盖范围。只要终点在这个范围内我就赢了。算法流程cover 0。如果数组只有一个元素直接返回true。遍历i从0到nums.size() - 2其实只需要遍历到cover即可但为了代码简单我们用循环控制关键约束只有当i cover时我们才能站在i上。贪心更新cover max(cover, i nums[i])。提前结束如果cover nums.size() - 1返回true。循环结束后如果还没返回true说明到不了返回false。代码实现 (C)C#include vector #include algorithm using namespace std; class Solution { public: bool canJump(vectorint nums) { int cover 0; // 当前能覆盖到的最远下标 // 只有一个元素肯定能到 if (nums.size() 1) return true; // 注意i 只能在 cover 范围内移动 // 虽然循环写的是 i cover但 cover 是在动态增长的 for (int i 0; i cover; i) { // 更新覆盖范围 cover max(cover, i nums[i]); // 如果覆盖范围已经包含了终点 if (cover nums.size() - 1) { return true; } } // 跑完所有能跑的地方还是没覆盖到终点 return false; } };深度复杂度分析时间复杂度O(N)我们最多遍历数组一次。空间复杂度O(1)只需要一个变量cover。总结格局打开这道题展示了贪心算法的一种**“宏观视角”。 我们没有去纠结微观的“第一步跳几米第二步跳几米”而是直接审视“势能”**覆盖范围。只要我的势能足够大能罩住终点那具体怎么跳总归是有办法的。下一题预告跳跃游戏 II现在难度升级了 如果在上一题的基础上我保证一定能跳到终点但我要求你求出最少跳几步能到这时候“最大覆盖范围”这个单一指标就不够用了。我们需要两个指标“当前这一步最远能到哪”和“下一步最远能到哪”。 这道题是贪心算法中逻辑稍微复杂一点的题目准备好烧脑了吗下期见
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

中国建设银行网站e路网站图片做cdn

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 快速开发一个FULL OUTER JOIN演示工具,要求:1) 提供两个模拟数据表(员工表和部门表) 2) 动态生成各种JOIN类型的SQL和结果 3) 可视化展示数据关联关系 4) 支…

张小明 2025/12/31 15:45:11 网站建设

网站建设程序有哪些小公司网站用什么服务器划算

Excalidraw模板系统:预设与自定义实践 在快节奏的产品设计与技术协作中,如何让想法“秒级落地”?很多团队发现,即便工具再强大,如果每次画图都从零开始——重画按钮、反复调整流程节点、解释图例含义——那再敏捷的流…

张小明 2026/1/7 10:36:07 网站建设

做排行网站wordpress 跨站

引言:为什么需要 Ascend C?随着人工智能模型规模的爆炸式增长,对算力的需求已远超传统 CPU 和通用 GPU 的承载能力。为应对这一挑战,专用 AI 加速芯片成为主流方向。华为推出的昇腾(Ascend)系列 AI 芯片&am…

张小明 2026/1/1 6:29:02 网站建设

p2p网站方案网站建设标志图

地磅系统相关术语1、皮重 (Tare Weight)2、毛重 (Gross Weight)3、净重 (Net Weight)4、进磅皮重时间 (Tare In Time)5、出磅毛重时间 (Gross Out Time)6、完整业务流程示例7、具体数据示例8、管理意义与用途8.1 重量数据的用途8.2 时间数据的用途8.3 防作弊功能9、行业应用差异…

张小明 2026/1/6 9:26:01 网站建设

青岛专业建设网站文字图片在线制作生成

ARMv8-A权威指南:掌握下一代处理器核心技术 【免费下载链接】ARMv8架构参考手册下载分享 ARMv8架构参考手册下载 项目地址: https://gitcode.com/Open-source-documentation-tutorial/1df35 开启ARM架构学习之旅 你是否曾经为理解ARM处理器底层原理而苦恼&a…

张小明 2026/1/8 13:36:57 网站建设

长沙建站seo公司公司邮箱域名是什么

Windows 10 设备驱动管理与系统更新全攻略 设备驱动细节与信息查询 在某些情况下,你可能需要查找驱动程序的高级信息,比如手动从电脑中移除驱动文件。在设备管理器中,右键单击驱动程序并选择“属性”,就能获取许多驱动程序的详细信息。 如果你想确切知道驱动安装时在电脑…

张小明 2026/1/1 0:07:58 网站建设