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

代码随想录冲冲冲 Day41 动态规划Part9

188. 买卖股票的最佳时机 IV

昨天题目是买卖两次,这里是设定好k次

2次的时候一共包含了5中情况 那么k次就包含了2 k + 1种情况

初始化只有1 , 3 ,5 也就是买入的状况是有值的,所以初始化时候只需要看这些情况知道2 k

之后只要把之前两次的做一下抽象就可以了

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

这道题感觉稍微麻烦一点

首先包含冷冻期其中有4种情况

1.持有股票的情况

2.不持有股票情况(之前就是冷冻期了,但是之后一直没买)

3.不持有股票(今天刚刚卖出股票)

4.昨天刚刚卖出股票,今天就是冷冻期

   所以对应的递推公式有

达到买入股票状态(状态一)即:dp[i][0],有两个具体操作:

  • 操作一:前一天就是持有股票状态(状态一),dp[i][0] = dp[i - 1][0]
  • 操作二:今天买入了,有两种情况
    • 前一天是冷冻期(状态四),dp[i - 1][3] - prices[i]
    • 前一天是保持卖出股票的状态(状态二),dp[i - 1][1] - prices[i]

那么dp[i][0] = max(dp[i - 1][0], dp[i - 1][3] - prices[i], dp[i - 1][1] - prices[i]);

达到保持卖出股票状态(状态二)即:dp[i][1],有两个具体操作:

  • 操作一:前一天就是状态二
  • 操作二:前一天是冷冻期(状态四)

dp[i][1] = max(dp[i - 1][1], dp[i - 1][3]);

达到今天就卖出股票状态(状态三),即:dp[i][2] ,只有一个操作:

昨天一定是持有股票状态(状态一),今天卖出

即:dp[i][2] = dp[i - 1][0] + prices[i];

达到冷冻期状态(状态四),即:dp[i][3],只有一个操作:

昨天卖出了股票(状态三)

dp[i][3] = dp[i - 1][2];

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

很简单 和2是一样的 只是要多加一个手续费

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Mysql | 知识 | 事务隔离级别
  • Kylin Server V10 下 MySQL 8 binlog 管理
  • Spark底层逻辑
  • 高教社杯数模竞赛特辑论文篇-2013年B题:碎纸复原模型与算法
  • 分享一个基于微信小程序的医院挂号就诊一体化平台uniapp医院辅助挂号应用小程序设计(源码、调试、LW、开题、PPT)
  • WORD批量转换器MultiDoc Converter
  • Spring 框架——@Retryable 注解与 @Recover 注解
  • Centos9 网卡配置文件
  • Web安全之HTTPS调用详解和证书说明案例示范
  • git 学习的流水log
  • Golang | Leetcode Golang题解之第398题随机数索引
  • SystemVerilog中randomize() 的注意事项
  • 关于我的阿里云服务器被入侵 - 分析报告
  • java ForkJoinPool使用完全解析
  • LeetCode 算法:单词拆分 c++
  • 【css3】浏览器内核及其兼容性
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • Django 博客开发教程 16 - 统计文章阅读量
  • django开发-定时任务的使用
  • Fabric架构演变之路
  • Js基础——数据类型之Null和Undefined
  • October CMS - 快速入门 9 Images And Galleries
  • TCP拥塞控制
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • vue自定义指令实现v-tap插件
  • Web Storage相关
  • Yeoman_Bower_Grunt
  • 基于webpack 的 vue 多页架构
  • 利用DataURL技术在网页上显示图片
  • 突破自己的技术思维
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 用Visual Studio开发以太坊智能合约
  • 在electron中实现跨域请求,无需更改服务器端设置
  • (2024,Flag-DiT,文本引导的多模态生成,SR,统一的标记化,RoPE、RMSNorm 和流匹配)Lumina-T2X
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (苍穹外卖)day03菜品管理
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (论文阅读40-45)图像描述1
  • (全注解开发)学习Spring-MVC的第三天
  • (三十五)大数据实战——Superset可视化平台搭建
  • (文章复现)基于主从博弈的售电商多元零售套餐设计与多级市场购电策略
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • .Net - 类的介绍
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .NET CORE Aws S3 使用
  • .Net Core 中间件与过滤器
  • .net和jar包windows服务部署
  • .NET下ASPX编程的几个小问题
  • .pop ----remove 删除
  • @SuppressLint(NewApi)和@TargetApi()的区别
  • [ C++ ] STL priority_queue(优先级队列)使用及其底层模拟实现,容器适配器,deque(双端队列)原理了解
  • [ SNOI 2013 ] Quare