LeetCode-121.买卖股票的最佳时机
题目描述
给定一个数组prices
,它的第 i 个元素 prices[i]
表示一支给定股票第 i
天的价格。
你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。
返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0
。
示例
1 | 输入:[7,1,5,3,6,4] |
1 | 输入:prices = [7,6,4,3,1] |
提示
1 <= prices.length <= 105
0 <= prices[i] <= 104
题解
思路:遍历数组,如果当前元素比历史最低价小,则更新历史最低价为当前元素值;否则更新最大利润 = max(当前元素与历史最低价之差, 历史最大利润)。
1 | func maxProfit(_ prices: [Int]) -> Int { |