1. class Solution {
    2. public:
    3. int maxProfit(vector<int>& prices, int fee) {
    4. if(prices.size() <= 0){
    5. return 0;
    6. }
    7. int current_0;
    8. int current_1;
    9. int pre_0 = 0;
    10. int pre_1 = -1e9;
    11. for(int i =0 ; i<prices.size(); i++){
    12. current_0 = max(pre_0, pre_1 + prices[i] - fee);
    13. current_1 = max(pre_1, pre_0 - prices[i]);
    14. pre_0 = current_0;
    15. pre_1 = current_1;
    16. }
    17. return current_0;
    18. }
    19. };