题目

https://leetcode.com/problems/best-time-to-buy-and-sell-stock-with-cooldown/

题解

我知道要dp,但是不知道要怎么dp,最后还是看了答案。。

参考:官方题解

力扣平台上的股票类型的题目

这是一个系列

121.买卖股票的最佳时机
122.买卖股票的最佳时机 II
123.买卖股票的最佳时机 III
188.买卖股票的最佳时机 IV
309. 最佳买卖股票时机含冷冻期(本题)
714.买卖股票的最佳时机含手续费
剑指 Offer 63. 股票的最大利润

一种常用的方法是将「买入」和「卖出」分开进行考虑:「买入」为负收益,而「卖出」为正收益。在初入股市时,你只有「买入」的权利,只能获得负收益。而当你「买入」之后,你就有了「卖出」的权利,可以获得正收益。显然,我们需要尽可能地降低负收益而提高正收益,因此我们的目标总是将收益值最大化。因此,我们可以使用动态规划的方法,维护在股市中每一天结束后可以获得的「累计最大收益」,并以此进行状态转移,得到最终的答案。

动态规划解法



代码
class Solution {public int maxProfit(int[] prices) {int[][] dp = new int[prices.length][3];dp[0][0] = -prices[0];for (int i = 1; i < prices.length; i++) {dp[i][0] = Math.max(dp[i - 1][0], dp[i - 1][2] - prices[i]);dp[i][1] = dp[i - 1][0] + prices[i];dp[i][2] = Math.max(dp[i - 1][1], dp[i - 1][2]);}return Math.max(dp[prices.length - 1][1], dp[prices.length - 1][2]);}
}

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

  1. 109. Leetcode 309. 最佳买卖股票时机含冷冻期 (动态规划-股票交易)

    步骤一.确定状态: 确定dp数组及下标含义 dp[i]表示的是到第i天能获得的利润,但这里每天的状态下就不仅仅是持股和不 持股两种状态了,而是持股, 不持股当天卖出和不持股当天没卖出三种状态, 因为冷 ...

  2. [Leetcode][第309题][JAVA][最佳买卖股票时机含冷冻期][动态规划][压缩空间]

    [问题描述][中等] [解答思路] 1. 动态规划 动态规划流程 第 1 步:设计状态 f[i]表示第 i 天结束之后的「累计最大收益」 第 2 步:状态转移方程 f[i][0]=max(f[i−1] ...

  3. 【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: ...

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

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

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

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

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

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

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

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

  8. leetcode 最佳买卖股票时机含冷冻期(Java)

    leetcode题目 最佳买卖股票时机含冷冻期 -- leetcode 309 题目描述 给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 .​设计一个算法计算出最大利润.在满足以下约束 ...

  9. 力扣 -- 309. 最佳买卖股票时机含冷冻期

    题目链接:309. 最佳买卖股票时机含冷冻期 - 力扣(LeetCode) 下面是用动态规划的思想解决这道题的过程,相信各位小伙伴都能看懂并且掌握这道经典的动规题目滴. 参考代码: class Sol ...

最新文章

  1. 用Enter键取代tab键
  2. 记录一次血崩式的CPLD不稳定 bug经验
  3. 用c#开发微信 系列汇总
  4. [Leedcode][JAVA][第680题][验证回文字符串Ⅱ][贪心][递归]
  5. Web Hacking 101 中文版 十五、代码执行
  6. Tomcat报错:The required Server component failed to start so Tomcat is unable to start
  7. python语言翻译成汇编语言_计原 || 1计算机语言发展与计算机层次结构
  8. npm:no such file /usr/local/lib/node_modules/vue-cli/node_modules/get-stream
  9. 计算机应用技术专业与计算机网络技术专业的区别
  10. 3步教你学会cocos creator 物理引擎
  11. eq linux_Pr音频效果参考:滤波器与EQ
  12. ​汽车域控制器架构和OTA的心脏:网关的四大豪门(下)
  13. 网络 - 电脑代理 - 学习/实践
  14. [SIGMOD 2022]DMCS Density Modularity based Community Search
  15. OSChina 周四乱弹 ——今天家里只有我和女室友,我想……
  16. 从源码角度浅谈IRP
  17. 全栈工程师真的全栈吗?
  18. QQ轻聊版、TIM版无法修改个人文件夹位置的解决方法
  19. 50个极好的bootstrap前端框架
  20. MacBook Air M1硬盘写入量查询

热门文章

  1. CodeForces - 1327D Infinite Path(图论综合)
  2. mysql流量控制_Daloradius限制上网流量
  3. 棋子--状态压缩dp
  4. TCP keepalive的详解(解惑)
  5. 逆向工程核心原理学习笔记(七):总结
  6. cocos2d-x游戏实例(21)-纵版射击游戏(8)
  7. 2_5 BridgeMode.cpp 桥接模式
  8. Android端打开HttpDns的正确姿势
  9. 第08讲:解析无所不能的正则表达式
  10. 滑动窗口算法学习(一)