看到一个题目:
给定一个非负整数数组,你最初位于数组的第一个位置。
数组中的每个元素代表你在该位置可以跳跃的最大长度。
你的目标是使用最少的跳跃次数到达数组的最后一个位置。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/jump-game-ii
百度参考了网友提供的BFS方法( 出处找不到了~~),顺利通过LeetCode测试,发布出来,记录下~
class Solution:
def __init__(self):
print("Begin to run solution....")
def jump2(self, nums) -> int:
if len(nums) == 1:
return 0
if nums[0] >= len(nums) - 1:
return 1
solutions = []
for i in range(1, nums[0] + 1):
solutions.append(self.minsteps_remain(1, nums[i:]))
return min(solutions)
def jump(self, nums) -> int:
# 最大跳力,BFS算法 转换为BFS问题(注ÿ