'''
Author: 365JHWZGo
Description: 45. 跳跃游戏 II
Date: 2021-10-20 09:35:48
FilePath: Python\test\demo8.py
LastEditTime: 2021-10-20 19:52:24
LastEditors: 365JHWZGo
'''

class Solution(object):
    minStep = 1001

    def jump(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """

        if len(nums) == 1:
            return 0
        if nums[0] == 0:
            return 0
        target = len(nums) - 1
        start = 0
        step = 0
        res = []

        def backtrack(self, nums, target, start, step, res):
            if target == 0 and step < self.minStep:
                self.minStep = step
                print(res)
                return

            for i in range(nums[start], 0, -1):
                if target - i < 0:
                    i = target
                target -= i
                if start == len(nums)-1:
                    break
                start += i
                step += 1
                if step >= self.minStep:
                    break
                res.append([i, nums[start]])
                backtrack(self, nums, target, start, step, res)
                step -= 1
                start -= i
                target += i
                res.pop()
            return


        backtrack(self, nums, target, start, step, res)
        return self.minStep

回溯算法超时【o(╥﹏╥)o】
在这里插入图片描述
看了思路结果是需要用贪心算法,ε=(´ο`*)))唉

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐