leetcode hot 100 跳跃游戏2

45. 跳跃游戏 II

已解答

中等

相关标签

相关企业

给定一个长度为 n 的 0 索引 整数数组 nums。初始位置为 nums[0]。

每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处:

  • 0 <= j <= nums[i]
  • i + j < n

返回到达 nums[n - 1] 的最小跳跃次数。生成的测试用例可以到达 nums[n - 1]。

复制代码
class Solution(object):
    def jump(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """

        max_t = 1
        count=0
        queue = [0]
        queue_next=[]
        while max_t<len(nums):
            for tmp in queue:
                if tmp + nums[tmp]+1>max_t:
                    end = min(len(nums),tmp+nums[tmp]+1)
                    for i in range(max_t,end):
                        
                        queue_next.append(i)
                    max_t = end
            count+=1
            queue = queue_next
            queue_next=[]

保存一个队列,是上一次能到达的最远距离

相关推荐
吞下星星的少年·-·1 小时前
Div.3 CF 1131A题(排序,模拟)
算法·模拟·排序
圣保罗的大教堂1 小时前
leetcode 453. 最小操作次数使数组元素相等 中等
leetcode
aichitang20241 小时前
代数拓扑学与现代前沿视角
考研·算法·数学建模·ai·拓扑学·高考
二本咕咕-机械转码2 小时前
FreeRTOS深入解析(一)_链表与并发保护——哨兵循环链表、排序键游标、临界区与关调度
单片机·算法·链表
-银雾鸢尾-2 小时前
两数之和-C++实现
c++·算法
j7~2 小时前
【动态规划算法专题】动态规划五部曲实战:泰波那契数、三步问题、最小花费爬楼梯
c++·算法·动态规划·数据结构与算法
倍利福猎头公司官方账号2 小时前
大企业HR如何向猎头公司清晰传达AI岗位的技术需求?
人工智能·算法·机器人·求职招聘·业界资讯
揽星河..3 小时前
【C++】类和对象
c++·算法
william_yangshun3 小时前
【AI实战】Claude-Code-Game-Studios中文版使用教程:把Claude Code改造成49个Agent的游戏工作室
人工智能·游戏