买卖股票的最佳时机 python
时间: 2023-09-21 16:11:05 浏览: 125
python-leetcode面试题解之第123题买卖股票的最佳时机III-题解.zip
可以使用动态规划的思想来解决这个问题。我们定义两个变量:`min_price` 和 `max_profit`。其中,`min_price` 表示前 `i` 天中的最低股票价格,`max_profit` 表示前 `i` 天中的最大利润。对于每一天,我们可以计算出当天的利润,然后将其与 `max_profit` 进行比较,从而更新 `max_profit`。同时,我们还需要更新 `min_price`,使其等于前 `i` 天中的最低股票价格。最后,返回 `max_profit`。
以下是该算法的 Python 代码实现:
``` python
def max_profit(prices):
min_price, max_profit = float('inf'), 0
for price in prices:
min_price = min(min_price, price)
max_profit = max(max_profit, price - min_price)
return max_profit
```
其中,`prices` 是一个列表,表示每天的股票价格。函数返回的是最大利润。
例如,假设 `prices = [7, 1, 5, 3, 6, 4]`,则调用 `max_profit(prices)` 返回的结果为 `5`,因为在第二天买入股票,第五天卖出股票可以获得最大利润。
阅读全文