九十三、动态规划系列之股票问题(下)
【摘要】 @Author:Runsen
动态规划必须要面对股票系列,背包系列差不多了,那就上吧。
股票买卖这一类的问题,都是给一个输入数组,里面的每个元素表示的是每天的股价,并且你只能持有一支股票(也就是你必须在再次购买前出售掉之前的股票),一般来说有下面几种问法:
只能买卖一次
只能买卖两次
可以买卖无数次
可以买卖 k 次
买 N 次加 CD 冷却时间
...
@Author:Runsen
动态规划必须要面对股票系列,背包系列差不多了,那就上吧。
股票买卖这一类的问题,都是给一个输入数组,里面的每个元素表示的是每天的股价,并且你只能持有一支股票(也就是你必须在再次购买前出售掉之前的股票),一般来说有下面几种问法:
- 只能买卖一次
- 只能买卖两次
- 可以买卖无数次
- 可以买卖 k 次
- 买 N 次加 CD 冷却时间
- 买 N 次加手续费
需要你设计一个算法去获取最大的利润。
买卖股票的最佳时机(买N次加CD冷却时间)
这是Leetcode的第309题: 买卖股票的最佳时机(买N次加CD冷却时间)
给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。
你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。
卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。
示例:
输入: [1,2,3,0,2]
输出: 3
解释: 对应的交易状态为: [买入, 卖出, 冷冻期, 买入, 卖出]
- 1
- 2
- 3
此题的关键是如何设置dp的状态? 冷冻期其实就是CD技能的时间。
dp[i][
文章来源: maoli.blog.csdn.net,作者:刘润森!,版权归原作者所有,如需转载,请联系作者。
原文链接:maoli.blog.csdn.net/article/details/115014895
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)