Menu
CoddyTech

Best Time to Buy and Sell Stock

简单贪心python iconjava iconcpp iconc iconjs icon+10

你会得到一个列表 prices,其中 prices[i] 是第 i 天一只股票的价格。你可以在某一天买入一股,并在之后的某一天卖出。返回你能获得的最大利润;如果所有可能的交易都会亏钱,则返回 0。

函数

maxProfit(prices: integer-array) → integer
pricesinteger-array
按顺序列出股票每天的价格
返回值integer
一次买入并在之后卖出所能获得的最大利润,或 0

约束条件

  • 1 ≤ prices.length ≤ 105
  • 0 ≤ prices[i] ≤ 104
  • 你最多只能进行一次交易,并且卖出的日期必须晚于买入的日期。

示例

输入
prices = [7, 2, 5, 9, 1, 4]
输出
7
解释
第 1 天以 2 买入,第 3 天以 9 卖出,获利 7。最低价 1 出现在第 4 天,晚于价格 9,因此在最低价之后卖出,最多只能获利 3。
challenge icon

进阶

如果你可以随意进行多次交易,但同一时间最多持有一股股票呢?

重置代码
def maxProfit(prices):
    # 在这里编写代码

测试 #1

测试 #2

参数

prices = [7, 2, 5, 9, 1, 4]

预期输出

7