leecode100-跳跃游戏2-贪心算法

题目

解法

对于位置i来说,假设目前我们能到达的最远边是cur_right,为了能够到达最远方,我们肯定需要在在i到cur_right中选择一个位置进行建桥;注意,无论选择哪个位置,那么从该位置到针对该位置的最远桥next_right的之间位置都是到达;因此,只要每次选择位置的时候,我们都选择next_right最远的那个就可以了;

我们不需要考虑具体选择哪个,我们只要维护好最远next_right的就行,以及记录建桥次数。

cpp 复制代码
class Solution:
    def jump(self, nums: List[int]) -> int:
        ans = 0
        cur_right = 0#记录当前已经建造的桥的最远右边举例
        next_right = 0
        for i in range(len(nums)-1):
            next_right = max(next_right, nums[i] + i)#记录可以建造的最远的桥
            if i == cur_right:
                cur_right = next_right
                ans += 1
        return ans
相关推荐
浅念-几秒前
「一文吃透 BFS:从层序遍历到锯齿形、最大宽度、每层最大值」
数据结构·算法
汉克老师2 分钟前
GESP5级C++考试语法知识(十三、贪心算法(一))
算法·贪心算法·海盗船·gesp5级·gesp五级·排队接水
梦想画家1 小时前
Apache AGE实战指南:从Cypher语法到核心图算法
算法·cypher·apache age
刀法如飞1 小时前
Go数组去重的20种实现方式,AI时代解决问题的不同思路
后端·算法·go
汉克老师2 小时前
GESP5级C++考试语法知识(贪心算法(一)课堂例题精讲)
c++·贪心算法·gesp5级·gesp五级·贪心规律
旖-旎2 小时前
深搜练习(N皇后)(10)
c++·算法·深度优先·力扣
Controller-Inversion3 小时前
322. 零钱兑换
算法
头发够用的程序员3 小时前
C++和Python面试经典算法汇总(一)
开发语言·c++·python·算法·容器·面试
夜猫逐梦3 小时前
【逆向经验】一篇文章讲透为什么CE搜不到Python游戏的内存值
开发语言·python·游戏
淡海水3 小时前
【AI模型】模型量化技术详解
人工智能·算法·机器学习