class Solution {
public:
int maxProfit(vector<int>& prices, int fee) {
int result=0;
int minprice=prices[0];
for(int i=1;i<prices.size();i++){
//如果还有更低点,记录下来
if(prices[i]<minprice)minprice=prices[i];
//还有一种情况,有涨幅,但是加上手续费使亏的,那我肯定不能卖
if(prices[i]>=minprice&&prices[i]<=minprice+fee){
continue;
}
//另一种情况,卖了,赚了
if(prices[i]>minprice+fee){
//卖出
result+=prices[i]-minprice-fee;
//因为交易日还没有结束,也就是说,还没到达数组结尾,那我们就必须继续买
minprice=prices[i]-fee;
}
}
return result;
}
};