LC121. 买卖股票的最佳时机
题目描述
这是 LeetCode 上的(121. 买卖股票的最佳时机) ,难度为 简单。
给定一个数组 prices
,它的第 i
个元素 prices[i]
表示一支给定股票第 i
天的价格。
你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。
返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0
。
示例 1:
1 |
|
示例 2:
1 |
|
提示:
1 <= prices.length <= 105
0 <= prices[i] <= 104
题解
贪心
profit
(最大利润)cost
(最小成本)cost
记录 与历史最低成本相比 的最低成本profit
记录 与历史最高利润相比 的最高利润- 由于
profit
是由今天价格-历史最低成本
和历史最高利润
进行比较,不会出现 过去最高价格卖,今天最低价格买 的情况
代码
1 |
|
复杂度
- 时间复杂度:$O(n)$
- 空间复杂度:$O(1)$
最后
最简题解来自于leetcode 121. 买卖股票的最佳时机(动态规划,清晰图解)
我的代码
- mpa = max profit array 最大利润数组
- mic = min cost 最小成本
- res 最大利润
1 |
|
LC121. 买卖股票的最佳时机
https://blog.daynoti.com/posts/49437/