一:题目
二:上码
class Solution {
public:int maxProfit(vector<int>& prices, int fee) {/**思路:*/int ans = 0;int minPrice = prices[0];//最低时买入for(int i = 1; i < prices.size(); i++) {//低价买入minPrice = min(minPrice,prices[i]);if(prices[i] > minPrice + fee) {//只要当前价格大于买入时候的价格和费用就卖出ans += prices[i] - minPrice -fee;minPrice = prices[i]-fee;//这里就就是为了说明如果我们还在我们的利润空间内的话,我们只需要技计算} //一次费用即可,} //[1,3,7,5,10,3] 比如我们1时候买入7时候卖出 那么我们挣 7-1-3=3;return ans; // 那么接下来我们依然还在利润空间中所以 我们 7 - 3 } //是为了 prices[i] - minPrice -fee ==> 10 - (7-3) +3//其实也就是 10-7 而已,为了只计算一次费用而已
};