力扣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
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- LeetCode刷题笔记121:买卖股票的最佳时机
- leetcode-121 买卖股票的最佳时机 Python
- LeetCode 121 买卖股票的最佳时机 Python
- 121. 买卖股票的最佳时机
- 利用python 完成leetcode 122 买卖股票的最佳时机 II
- 121 买卖股票的最佳时机
- LeetCode:买卖股票的最佳时机(Python版)
- python买卖股票的最佳时机(基于贪心/蛮力算法)
- 121. 买卖股票的最佳时机
- 121. 买卖股票的最佳时机
- LeetCode题库解答与分析——#121. 买卖股票的最佳时机BestTimeToBuyAndSellStock
- Java实现-买卖股票的最佳时机4
- LeetCode-121.买卖股票的最佳时机(相关话题:动态规划)
- 121. 买卖股票的最佳时机
- 算法学习——leetcode122. 买卖股票的最佳时机 II
- 121. 买卖股票的最佳时机
- Leetcode121 Best Time to Buy and Sell Stock(买卖股票的最佳时机1)
- LeetCode 122 买卖股票的最佳时机2 Python
- Java实现-买卖股票的最佳时机2
- 【LeetCode-面试算法经典-Java实现】【121-Best Time to Buy and Sell Stock(最佳买卖股票的时间)】