您的位置:首页 > 编程语言 > Python开发

力扣121题:买卖股票的最佳时机,python实现,学习笔记

2020-03-16 12:15 302 查看

题目:给定一个数组,它的第i个元素是一支给定股票第i天的价格。
如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你能获取的最大利润。
注意不能在买入股票前卖出股票。
示例:
输入:[7,1,5,3,6,4]
输出:5
在第二天以1元买入,在第5天价格为6时卖出。
注意利润不能是7-1=6,因为7是卖出价格,卖出价格不能在买入价格之前。

分析:
最大利润=max(之前的最大价格,当前价格-之前最小买入价格)
需要初始化最大利润和最小价格,需要找到最大价格,所以初始值应该设置成较小的数字,由于利润最小为0,所以将其初始化为0;对于最小价格而言,由于需要找到最小的价格,所以初始化需要将其设置为较大的数。
代码如下:

在这里插入代码片
def maxProfit(self,prices:List[int]):
max_profit = 0
min_price = float("inf")
for price in prices:
max_profit = max(max_profit,price-min_price)
min_price = min(price,min_price)
return max_profit
  • 点赞
  • 收藏
  • 分享
  • 文章举报
Mr_LHS 发布了5 篇原创文章 · 获赞 3 · 访问量 93 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: