给定一个数组 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。