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

第九章 动态规划part09

2026.03.24 03.14 第四十六天

188 买卖股票的最佳时机IV

在上一题的基础上进一步推广,不过有了上一题的基础,理解起来就比较简单了

总体还是一道比较难的题

class Solution {
public:int maxProfit(int k, vector<int>& prices) {if(prices.size() == 0) return 0;vector<vector<int>> dp(prices.size(), vector<int>(2 * k + 1, 0));for(int j = 1; j < 2 * k; j += 2) {dp[0][j] = -prices[0];}for(int i = 1; i < prices.size(); i++) {for(int j = 0; j < 2 * k - 1; j += 2) {dp[i][j + 1] = max(dp[i - 1][j + 1], dp[i - 1][j] - prices[i]);dp[i][j + 2] = max(dp[i - 1][j + 2], dp[i - 1][j + 1] + prices[i]);}}return dp[prices.size() - 1][2 * k];}
};

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

加上了冷冻期,状态变化比较复杂,比较难的一道题~

class Solution {
public:int maxProfit(vector<int>& prices) {int n = prices.size();if (n == 0) return 0;vector<vector<int>> dp(n, vector<int>(4, 0));dp[0][0] -= prices[0]; // 持股票for (int i = 1; i < n; i++) {dp[i][0] = max(dp[i - 1][0], max(dp[i - 1][3] - prices[i], dp[i - 1][1] - 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][3], max(dp[n - 1][1], dp[n - 1][2]));}
};

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

在前几题的基础上增加了手续费的条件,难度不大

class Solution {
public:int maxProfit(vector<int>& prices, int fee) {int n = prices.size();vector<vector<int>> dp(n, vector<int>(2, 0));dp[0][0] -= prices[0]; // 持股票for (int i = 1; i < n; i++) {dp[i][0] = max(dp[i - 1][0], dp[i - 1][1] - prices[i]);dp[i][1] = max(dp[i - 1][1], dp[i - 1][0] + prices[i] - fee);}return max(dp[n - 1][0], dp[n - 1][1]);}
};
http://www.jsqmd.com/news/529658/

相关文章:

  • 告别Protobuf?在Skynet游戏服务器里用Cap‘n Proto+Lua实现零拷贝序列化
  • 如何快速搭建企业级AI聚合平台:CoAI.Dev完整部署与配置教程
  • 从‘蛇钩’到‘标准划痕’:揭秘ZBrush里那些名字古怪但超好用的笔刷,以及驱动它们的核心快捷键
  • Coze-Loop在医疗影像分析中的优化应用
  • 别再只用二维图表了!用Qt C++给数据加点‘立体感’:自定义3D散点图样式与动态数据更新
  • IO-Kit:Arduino轻量级面向对象I/O抽象库
  • 腾讯微信OpenClaw插件API通信过程剖析与Python原生代码复刻原理
  • asammdf vs 传统工具:为什么这个Python库能快10倍处理MDF4文件?
  • 网络安全测试:如何用hydra和medusa检测你的服务器弱密码漏洞
  • 第10章:让无人机“看懂”世界:视觉识别与目标跟踪实战
  • Spring with AI (4): 搜索扩展——向量数据库与RAG(上)
  • Dify时间参数配置避坑指南:从入门到精通的5个关键步骤
  • DCDC模块电源滤波实战:如何精准输出±5V并选对X/Y安规电容
  • Linux 调度器中的 CPU 时间统计:cputime.c 的用户态 / 内核态记账
  • BetterNCM-Installer:网易云音乐插件的智能部署效率工具
  • 解锁医学影像3D可视化:MRIcroGL的5大技术突破与实战应用
  • GraphicOLED:面向WS0010控制器的100×16图形OLED轻量驱动库
  • 基于SpringBoot+Vue的图书馆管理系统管理系统设计与实现【Java+MySQL+MyBatis完整源码】
  • 实时口罩检测-通用模型绿色计算:单位检测能耗与碳足迹测算
  • MbedSmartRest:面向Cumulocity的轻量级SmartREST嵌入式客户端
  • AudioLDM-S自动化测试:持续集成方案设计
  • 如何通过WindowsCleaner解决C盘空间不足问题?亲测有效的4个核心技巧
  • Linux 调度器中的调度时钟:clock.c 的高精度时间戳支撑
  • 手把手教你用NeuralRecon+TSDF实现单目视频三维重建(附Python代码)
  • 基于PLL的改进的超螺旋滑模观测器,观测电角度与实际电角度几乎一致。 效果较好,可以提供对应的...
  • Go 并发原语
  • 为什么92%的团队在Python 3.15升级后多解释器配置失败?揭秘subinterpreter初始化5大隐性陷阱
  • 2026/3/24总结
  • 把Gitea和MySQL都塞进Docker?飞牛NAS上的轻量级代码仓库搭建实录
  • 华三模拟器(H3C Simulator)新手避坑指南:搞定Telnet配置中的密码策略和接口模式切换