小黑代码
class Solution:
def jump(self, nums: List[int]) -> int:
# 数组长度
n = len(nums)
# 动态规划数组
dp = [float('inf')] * n
dp[0] = 0
# 开始动态规划
for i in range(n):
# 尝试范围内的每一个步长对应的步数
for t in range(1, nums[i]+1):
if i+t > n-1:
break
dp[i+t] = min(dp[i+t], dp[i]+1)
return dp[n-1]
贪心算法(尾部扩张)
class Solution:
def jump(self, nums: List[int]) -> int:
# 数组长度
n = len(nums)
# 结束位置,从后向前进行贪心算法
end_position = n - 1
# 步数
step = 0
# 开始迭代
while end_position > 0:
for i in range(end_position):
# 可以跳到末端的最小索引
if nums[i] + i >= end_position:
step += 1
end_position = i
break
return step
贪心算法(头部扩张)
class Solution:
def jump(self, nums: List[int]) -> int:
# 数组长度
n = len(nums)
# 窗口内所能跳跃的最大长度
max_dis = 0
# 窗口的边界
end = 0
# 最小步数
step = 0
# 开始进行贪心算法
for i in range(n-1):
# 更新最大长度
max_dis = max(max_dis, i+nums[i])
if i==end:
step += 1
end = max_dis
return step
小黑生活
收到了合唱团的面试通知,虽然后来没打算去
能量流瑜伽
青岛马拉松中签
钢琴D大调音阶打卡
晚间跑步
吃个夜宵,碰见了被坑儿
麦当劳早餐
阅读一下《心流》
党办小姐姐送我的礼物
午餐干饭
午后喜茶
医疗卡到啦
早餐干饭
地铁上看书
钢琴a和声小调音阶打卡
开髋团课打卡
夜宵和尚香喝酒凉菜撸串
戒糖 到了
麦当劳早餐
地铁上看书
午餐干饭
下午参加会议
骑车到达北京西站
坐上高铁,前往大兴机场
到达北京大兴机场
前往长沙黄花机场
到达黄花机场
前往广升花园酒店
到达酒店
早上起床,前往地铁
爬岳麓山之前,先吃一顿
开启岳麓山之旅
(岳麓山云麓宫,长沙会战抗战牺牲将士)
(翊武亭)
(爱晚亭)