day53 动态规划part10 代码随想录算法训练营 121. 买卖股票的最佳时机
我的感悟:
理解难点:
听课笔记:
我的代码:
class Solution:
def maxProfit(self, prices: List[int]) -> int:
# 设dp[i] 为截止到当前能获得的最大利润
# cur_min 为截止到当前股票的最低价格
dp = [0] * len(prices)
cur_min = prices[0]
for i in range(1,len(prices)):
if prices[i] >= cur_min: # 如果当前的价格大于最小值记录下利润
dp[i] = max(prices[i] - cur_min,dp[i-1])
else: # 如果价格低于最小值,更新最小值
cur_min = prices[i]
dp[i] = dp[i-1] # 沿用上一次的最大值
# print(dp)
return dp[-1]
通过截图:
![]()
老师代码:
扩展写法:
资料:
- 买卖股票的最佳时机
视频讲解:https://www.bilibili.com/video/BV1Xe4y1u77q
https://programmercarl.com/0121.%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BA.html