【贪心2】买卖股票
题面简述:
给定一个数组 prices,每个元素代表第 i 天股票的价格。我们需要设计一个算法,通过多次买入和卖出操作,使得总利润最大化。每次买入股票之前,必须先卖出之前的股票。如果没有利润,返回 0。
解题思路:
因为我们可以多次进行买入和卖出操作,所以我们只需要在股票价格上涨时进行买入并卖出即可,这样才能确保我们获得最大的利润。
P13071.【贪心2】买卖股票
题目描述:
给定一个数组 prices,其中 prices[i] 表示第 i 天股票的价格。你需要设计一个算法,找到买入和卖出股票的最佳时机,使得利润最大化。
要求:
- 你能进行多次买入和次卖出操作,买入前必须卖出持有的股票。
- 返回最大利润。如果没有利润(即价格始终下降),则返回
0。
输入格式:
- 第一行包含一个整数
n,表示数组 prices 的长度。1 ≤ n ≤ 105
- 第二行包含
n 个整数,表示 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。
开通会员即可查看完整视频题解: 1.题目讲解 2.思路分析 3.逐行代码手写