title: LEETCODE-DAY32
date: 2024-03-24 13:32:03
tags:
122.买卖股票的最佳时机II、55. 跳跃游戏、45.跳跃游戏II
T1
class Solution:def maxProfit(self, prices: List[int]) -> int:result = 0for i in range(1, len(prices)):result += max(prices[i] - prices[i - 1], 0)return result
T2
class Solution:def canJump(self, nums: List[int]) -> bool:cover = 0if len(nums) == 1: return Truefor i in range(0, len(nums)):if i <= cover:cover = max(i + nums[i], cover)# print(cover)if cover >= len(nums)-1:return Truereturn False
T3
class Solution:def jump(self, nums):cur_distance = 0 # 当前覆盖的最远距离下标ans = 0 # 记录走的最大步数next_distance = 0 # 下一步覆盖的最远距离下标for i in range(len(nums) - 1): # 注意这里是小于len(nums) - 1,这是关键所在next_distance = max(nums[i] + i, next_distance) # 更新下一步覆盖的最远距离下标if i == cur_distance: # 遇到当前覆盖的最远距离下标cur_distance = next_distance # 更新当前覆盖的最远距离下标ans += 1return ans