#4673. 买卖股票的最佳时机含手续费

买卖股票的最佳时机含手续费

题目描述

给定一个长度为 nn 的整数数组 pricesprices,其中 prices[i]prices[i] 表示某支股票第 ii 天的价格,以及一个整数 feefee 表示交易股票的手续费用。

你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。

返回获得利润的最大值。

注意:这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。

输入格式

第一行两个整数 nnfeefee

第二行 nn 个整数表示数组中的元素。

输出格式

一行一个整数表示答案。

示例 1:

6 2
1 3 2 8 4 9
8

解释: 能够达到的最大利润:

在此处买入 prices[0] = 1

在此处卖出 prices[3] = 8 ,利润为 8-1-2 = 5

在此处买入 prices[4] = 4

在此处卖出 prices[5] = 9 ,利润为 9-4-2 = 3

总利润为 5 + 3 = 8

示例 2:

6 3
1 3 7 5 10 3
6

提示:

  • 1<=prices.length<=51041 <= prices.length <= 5 * 10^4
  • 1<=prices[i]<=51041 <= prices[i] <= 5 * 10^4
  • 0<=fee<=51040 <= fee <= 5 * 10^4