代码随想录刷题第三十二天
买卖股票的最佳时机 II (LC 122)
题目思路:
代码实现:
class Solution:
def maxProfit(self, prices: List[int]) -> int:
diff = 0
result = 0
for i in range(1, len(prices)):
diff = prices[i]-prices[i-1]
if diff>0:
result+=diff
return result
跳跃游戏 (LC 55)
题目思路:
代码实现:
class Solution:
def canJump(self, nums: List[int]) -> bool:
if len(nums) == 1:
return True
cover = 0
i = 0
while i<=cover:
cover = max(cover, i+nums[i])
if cover>=len(nums)-1:
return True
i+=1
return False
跳跃游戏 II (LC 45)
题目思路:
代码实现:
class Solution:
def jump(self, nums: List[int]) -> int:
cur = 0
nxt = 0
step = 0
for i in range(len(nums)):
nxt = max(nxt, i+nums[i])
if i==cur:
if i!=len(nums)-1:
step+=1
cur = nxt
if cur>=len(nums)-1:
break
return step