【力扣-每日一题】714. 买卖股票的最佳时机含手续费

cpp 复制代码
class Solution {
public:
    int maxProfit(vector<int>& prices, int fee) {
        //[i][0]-不持有   [i][1]-持有
        int m=prices.size();
        vector<vector<int>> dp(m,vector<int>(2));
        dp[0][0]=0;     //初始状态
        dp[0][1]=-prices[0];
        for(int i=1;i<m;i++)
            {
                dp[i][0]=max(dp[i-1][0],dp[i-1][1]+prices[i]-fee);  //当前不持有,结果来自上一个不持有,或者上一个持有变为不持有
                dp[i][1]=max(dp[i-1][1],dp[i-1][0]-prices[i]);  //当前持有,结果来自上一个持有,或者上一个不持有变持有
            }
        return max(dp[m-1][0],dp[m-1][1]);
        //可以使用滚动变量优化内存
    }
};
相关推荐
MediaTea2 小时前
AI 术语通俗词典:C4.5 算法
人工智能·算法
Navigator_Z2 小时前
LeetCode //C - 1033. Moving Stones Until Consecutive
c语言·算法·leetcode
WBluuue3 小时前
数据结构与算法:莫队(一):普通莫队与带修莫队
c++·算法
风筝在晴天搁浅3 小时前
n个六面的骰子,扔一次之后和为k的概率是多少?
算法
MATLAB代码顾问4 小时前
Python实现蜂群算法优化TSP问题
开发语言·python·算法
代码飞天5 小时前
机器学习算法和函数整理——助力快速查阅
人工智能·算法·机器学习
jiushiapwojdap5 小时前
LU分解法求解线性方程组Matlab实现
数据结构·其他·算法·matlab
笨笨饿5 小时前
69_如何给自己手搓一个串口
linux·c语言·网络·单片机·嵌入式硬件·算法·个人开发
纽扣6676 小时前
【算法进阶之路】链表进阶:删除、合并、回文与排序全解析
数据结构·算法·链表
消失的旧时光-19436 小时前
统一并发模型:线程、Reactor、协程本质是一件事(从线程到协程 · 第6篇·终章)
java·python·算法