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

代码随想录训练营day42|动态规划part9

买卖股票的最佳时机IV

力扣题目链接

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

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

力扣题目链接

class Solution {
public:int maxProfit(vector<int>& prices) {// 买(0)--卖(1)--无操作(2)int n = prices.size();vector<vector<int>> dp(n, vector<int>(3,0));dp[0][0] = -prices[0];for(int i = 1; i < n; i++){dp[i][0] = max(dp[i-1][0], dp[i-1][2] - prices[i]);dp[i][1] = max(dp[i-1][1], dp[i-1][0] + prices[i]);dp[i][2] = max(dp[i-1][2], dp[i-1][1]);}return max(dp[n-1][1], dp[n-1][2]);}
};

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

力扣题目链接

class Solution {
public:int maxprofit_all(vector<int>& prices, int fee) {int n = prices.size();//尝试了不用dp数组,只用两个变量int profit_parts = -prices[0];  //持有股票的收入int profit_all = 0;             //没有股票的收入for(int i = 1; i < n; i++){profit_parts = max(profit_parts, profit_all - prices[i]);profit_all = max(profit_all, profit_parts + prices[i] - fee);}return profit_all;}
};

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • [C语言]-基础知识点梳理-文件管理
  • 软考高级科目怎么选?
  • 芯片后端之 PT 使用 report_timing 产生报告 之 -nets 选项
  • File的常见成员方法(创建,删除)
  • 【C++ Primer Plus习题】2.2
  • xss靶场 pwnfunction WW3
  • EMC学习之接地与平面
  • 表格解析调研
  • 【Python】函数进阶(下)
  • 写给大数据开发:在Databricks中自定义函数
  • 前端开发攻略---在Vue3项目中修改Element-Plus主题色
  • Kubernetes-Pod调度基础
  • 昇腾 - AscendCL C++应用开发 图像文件的解码时硬件对图像的宽度和高度的处理方式
  • Python开发中,SQLAlchemy 的同步操作和异步操作封装,以及常规CRUD的处理。
  • Java 3.1 - 计算机网络
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • fetch 从初识到应用
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • Java比较器对数组,集合排序
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • JS笔记四:作用域、变量(函数)提升
  • Js基础知识(四) - js运行原理与机制
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • WePY 在小程序性能调优上做出的探究
  • 安装python包到指定虚拟环境
  • 从零搭建Koa2 Server
  • 从零开始在ubuntu上搭建node开发环境
  • 动态魔术使用DBMS_SQL
  • 技术发展面试
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 网页视频流m3u8/ts视频下载
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​探讨元宇宙和VR虚拟现实之间的区别​
  • ​字​节​一​面​
  • ‌移动管家手机智能控制汽车系统
  • ${ }的特别功能
  • (1)虚拟机的安装与使用,linux系统安装
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (二)windows配置JDK环境
  • (二刷)代码随想录第16天|104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)ssm码农论坛 毕业设计 231126
  • (附源码)计算机毕业设计ssm电影分享网站
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (算法)N皇后问题
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • .JPG图片,各种压缩率下的文件尺寸