当前位置: 首页 > news >正文

Day50 | 309.最佳买卖股票时机含冷冻期 714.买卖股票的最佳时机含手续费 总结

代码随想录算法训练营Day50 | 309.最佳买卖股票时机含冷冻期 714.买卖股票的最佳时机含手续费 总结

LeetCode 309.最佳买卖股票时机含冷冻期

题目链接:LeetCode 309.最佳买卖股票时机含冷冻期

思路:

四个状态。 保持持有股票,保持卖出股票,卖出股票,冷冻期。

class Solution {
public:int maxProfit(vector<int>& prices) {int n = prices.size();vector<vector<int>> dp(n, vector<int>(4));dp[0][0] = -prices[0]; //保持持有股票dp[0][1] = 0; //保持卖出股票dp[0][2] = 0; //卖出股票dp[0][3] = 0; //冷冻期for(int i=1; i<n; i++){dp[i][0] = max(dp[i-1][0], max(dp[i-1][1]-prices[i], dp[i-1][3]-prices[i]));dp[i][1] = max(dp[i-1][1], dp[i-1][3]);dp[i][2] = dp[i-1][0]+prices[i];dp[i][3] = dp[i-1][2];}return max(dp[n-1][1], max(dp[n-1][2], dp[n-1][3]));}
};

注意 :
1.
2.
3.
4.

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

题目链接:LeetCode 714.买卖股票的最佳时机含手续费

思路:
dp中添加手续费即可

class Solution {
public:int maxProfit(vector<int>& prices, int fee) {int n = prices.size();vector<vector<int>> dp(n, vector<int>(2));dp[0][0] = -prices[0]-fee;dp[0][1] = 0;for(int i=1; i<n; 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 dp[n-1][1];}
};
http://www.lryc.cn/news/353626.html

相关文章:

  • Steam在连接至服务器发生错误/连接服务器遇到问题解决办法
  • kafka 工作流程文件存储
  • 贪心算法4(c++)
  • 【无标题】yoloV8目标检测与实例分割--目标检测onnx模型部署
  • 深入理解与防御跨站脚本攻击(XSS):从搭建实验环境到实战演练的全面教程
  • 初步认识栈和队列
  • 插件:NGUI
  • 网络爬虫原理及其应用
  • 串口中断原理及实现
  • 课时136:变量进阶_变量实践_高级赋值
  • 牛客网刷题 | BC99 正方形图案
  • 启动小程序F12窗口管理器
  • 完全背包之零钱兑换I
  • Flutter 中的 FittedBox 小部件:全面指南
  • Java的线程的使用
  • 行为型模式 (Python版)
  • vscode:如何解决”检测到include错误,请更新includePath“
  • 区块链会议投稿资讯CCF A--USENIX Security 2025 截止9.4、1.22 附录用率
  • vue实现可拖拽移动悬浮球
  • 立体库堆垛机的精密构造与功能(收藏版)
  • 算法提高之你能回答这些问题吗
  • C++-指针
  • Three.js 研究:2、如何让动画线性运动
  • z3-加法器实验
  • 解决git克隆项目出现fatal无法访问git clone https://github.com/lvgl/lvgl.git
  • Vue中引入组件需要哪三步
  • 到底该用英文括号还是中文括号?
  • 一个普通双非女生的秋招之路
  • 一个模型用了几层神经网络怎么算?
  • python获取cookie的方式