• 0状态一:买入股票状态(今天买入股票,或者是之前就买入了股票然后没有操作)
  • 卖出股票状态,这里就有两种卖出股票状态
    • 1状态二:两天前就卖出了股票,度过了冷冻期,一直没操作,今天保持卖出股票状态
    • 2状态三:今天卖出了股票
  • 3状态四:今天为冷冻期状态,但冷冻期状态不可持续,只有一天!
var maxProfit = function(p) {let len=p.length//如果只有一天if(len<2){return 0}//如果只有两天if(len<3){return Math.max(0,p[1]-p[0])}let dp=Array(len).fill(0).map(x=>Array(4).fill(0))dp[0][0]=-p[0]for(let i=1;i<len;i++){//前一天已经买入,今天买入(前一天是冷冻期,前一天已经过了冷冻期)dp[i][0]=Math.max(dp[i-1][0],dp[i-1][3]-p[i],dp[i-1][1]-p[i])//保持卖出:前一天是冷冻期,前一天已经过了冷冻期dp[i][1]=Math.max(dp[i-1][3],dp[i-1][1])//今天卖出:前一天已经买入dp[i][2]=dp[i-1][0]+p[i]//今天是冷冻期:前一天卖出dp[i][3]=dp[i-1][2]}//最大值可能是1,2,3中状态中return  Math.max(dp[len - 1][1], dp[len - 1][2], dp[len - 1][3])
};

309. zui佳买卖股票时机含冷冻期(JavaScript)相关推荐

  1. 2022-3-3 Leetcode 309.最 佳买卖股票时机含冷冻期

    每天就只有两种情况: 1.今天不是冷冻期 1)买入 2)卖出 2.今天是冷冻期 class Solution {public int maxProfit(int[] prices) {if(price ...

  2. leetcode 309. Best Time to Buy and Sell Stock with Cooldown | 309. 最佳买卖股票时机含冷冻期(动态规划)

    题目 https://leetcode.com/problems/best-time-to-buy-and-sell-stock-with-cooldown/ 题解 我知道要dp,但是不知道要怎么dp ...

  3. 动态规划——最优买卖股票时机含冷冻期(Leetcode 309)

    题目选自Leetcode 309. 最佳买卖股票时机含冷冻期 一种常用的方法是将「买入」和「卖出」分开进行考虑:「买入」为负收益,而「卖出」为正收益.在初入股市时,你只有「买入」的权利,只能获得负收益 ...

  4. 【LeetCode】309. Best Time to Buy and Sell Stock with Cooldown 最佳买卖股票时机含冷冻期(Medium)(JAVA)

    [LeetCode]309. Best Time to Buy and Sell Stock with Cooldown 最佳买卖股票时机含冷冻期(Medium)(JAVA) 题目地址: https: ...

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

    文章目录 309. 最佳买卖股票时机含冷冻期 题目 解题思路 代码实现 实现结果 欢迎关注 309. 最佳买卖股票时机含冷冻期 题目来源:力扣(LeetCode)https://leetcode-cn ...

  6. Java实现 LeetCode 309 最佳买卖股票时机含冷冻期

    309. 最佳买卖股票时机含冷冻期 给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 .​ 设计一个算法计算出最大利润.在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股 ...

  7. LeetCode:309. 最佳买卖股票时机含冷冻期(python)

    LeetCode:309. 最佳买卖股票时机含冷冻期(python) 给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 . 设计一个算法计算出最大利润.在满足以下约束条件下,你可以尽可能 ...

  8. 【必备算法】动态规划:LeetCode题(九)309. 最佳买卖股票时机含冷冻期,714. 买卖股票的最佳含手续费

    买卖股票系列: [必备算法]动态规划:一个思路解决六道股票问题 [必备算法]动态规划:LeetCode题(七)121. 买卖股票的最佳时机,122. 买卖股票的最佳时机 II [必备算法]动态规划:L ...

  9. 算法训练第五十一天 | 309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费、股票问题总结

    动态规划part12 309.最佳买卖股票时机含冷冻期 题目描述 思路 总结 714.买卖股票的最佳时机含手续费 题目描述 思路 股票问题总结 309.最佳买卖股票时机含冷冻期 题目链接:309.最佳 ...

最新文章

  1. Vue以CDN方式调用Swiper轮播异常
  2. CSDN修改博客皮肤模板
  3. 对于scanf的使用一点体会心得
  4. STM32H743+CubeMX-QSPI读写外部FLASH(W25Q128JVSQ)
  5. Knight Moves(信息学奥赛一本通-T1257)
  6. 洛谷P1073 最优贸易
  7. android标题栏添加按钮_几行代码实现Android通用标题栏(轻松向左右两侧添加Menu)...
  8. linspace函数matlab_MATLAB用不同颜色绘制多条曲线
  9. java的IO操作之--RandomAccessFile
  10. 考研经验-东南大学软件学院软件工程(这些基础课和专业课的各种坑和复习技巧你应该知道)
  11. ST188光电式传感器的应用
  12. [cryptoverse ctf 2022] cvctf
  13. 面试官:怎么不用定时任务实现关闭订单?
  14. 狂神Vue笔记,后端必须了解的前端知识
  15. python中的list 冒号用法
  16. 全国计算机一级级考试试题及答案,全国计算机等级考试一级考试试题及答案
  17. 微信支付应用签名修改后多久可以生效?
  18. 11.Django基础九之中间件
  19. SOM神经网络图像分类tensorflow实现
  20. 网页js识别移动端几种方法

热门文章

  1. linux flush 磁盘,linux 磁盘IO栈和优化思路
  2. linux中用户 机器名,Python 在linux下获得当前工作目录,主机名,用户名,操作系统平台等信息...
  3. 从ASM拷贝文件的方法
  4. 只用一行代码,就导入Python所有库
  5. 基于JAVA+SpringMVC+Mybatis+MYSQL的课程教学辅助系统
  6. 基于JAVA+SpringMVC+MYSQL的在线商品拍卖网站
  7. linux系统修改用户名密码忘记,Linux下修改/找回root密码
  8. js判断数组中有没有指定元素
  9. python basemap的安装
  10. Spark SQL join的三种实现方式