给定一个数组 prices
,每个元素代表第 i
天股票的价格。我们需要设计一个算法,通过多次买入和卖出操作,使得总利润最大化。每次买入股票之前,必须先卖出之前的股票。如果没有利润,返回 0
。
因为我们可以多次进行买入和卖出操作,所以我们只需要在股票价格上涨时进行买入并卖出即可,这样才能确保我们获得最大的利润。
题目描述:
给定一个数组 prices
,其中 prices[i]
表示第 i
天股票的价格。你需要设计一个算法,找到买入和卖出股票的最佳时机,使得利润最大化。
要求:
0
。输入格式:
n
,表示数组 prices
的长度。1 ≤ n
≤ 105n
个整数,表示 prices
数组中的元素,prices[i]
表示第 i
天的股票价格。0 ≤ prices[i]
≤ 104输出格式:
0
。示例:
输入:
6
7 1 5 3 6 4
输出:
7
说明:
2
天买入股票,价格是 1
,然后在第 3
天卖出股票,价格是 5
,在第 4
天买入股票,价格是 3
,然后在第 5
天卖出股票,价格是 6
,最大利润为 (5 - 1) + (6 - 3) = 7
。