【动态规划】状态机模型:买卖股票的最佳时机 IV
买卖股票的最佳时机 IV
如果有n天,那么 一共要走n条线段。w[i] 表示 第i天 收益为 w[i]。
交易一次,相当于从0->1->0走一圈,交易k次,一共要走k圈。
f[i][j]: 走i条边,已经走完第j圈(不持有股票)的最大收益。
g[i][j]: 走i条边,正在走第j圈(持有股票)的最大收益。
初始化:
表示还未开始的状态。
i从1开始枚举,j从0开始枚举
class Solution {public int maxProfit(int k, int[] prices) {k=Math.min(k,prices.length);int n=prices.length;int[][]f=new int[2][k+1];int[][]g=new int[2][k+1];for(int i=0;i<2;i++){Arrays.fill(f[i],-100000);Arrays.fill(g[i],-100000);}f[0][0]=0;int res=0;for(int i=1;i<=n;i++){for(int j=0;j<=k;j++){f[i & 1][j]=Math.max(f[i-1 & 1][j],g[i-1 & 1][j]+prices[i-1]);res=Math.max(res,f[i&1][j]);g[i&1][j]=Math.max(g[i&1][j],g[i-1&1][j]);if(j>=1)g[i&1][j]=Math.max(g[i&1][j],f[i-1&1][j-1]-prices[i-1]);}}return res;}
}
【动态规划】状态机模型:买卖股票的最佳时机 IV相关推荐
- 算法训练第五十天 | 123.买卖股票的最佳时机III、188.买卖股票的最佳时机IV
动态规划part11 123.买卖股票的最佳时机III 题目描述 思路 拓展 188.买卖股票的最佳时机IV 题目描述 思路 易错点 123.买卖股票的最佳时机III 题目链接:123.买卖股票的最佳 ...
- 算法训练Day50 | LeetCode123. 买卖股票的最佳时机III(最多买卖2次);LeetCode188. 买卖股票的最佳时机IV(最多买卖K次)
目录 LeetCode123. 买卖股票的最佳时机III 1. 思路 2. 代码实现 3. 复杂度分析 4. 思考与收获 LeetCode188. 买卖股票的最佳时机IV 1. 思路 2. 代码实现 ...
- Leetcode 188.买卖股票的最佳时机IV
买卖股票的最佳时机IV 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你最多可以完成 k 笔交易. 注意: 你不能同时参与多笔交易(你必 ...
- 买卖股票的最佳时机IV
思路 这道题目可以说是动态规划:123.买卖股票的最佳时机III的进阶版,这里要求至多有k次交易. 确定dp数组以及下标的含义 在动态规划:123.买卖股票的最佳时机III中,我是定义了一个二维dp数 ...
- 【第50天| ● 123.买卖股票的最佳时机III ● 188.买卖股票的最佳时机IV 】
123.买卖股票的最佳时机III class Solution {public:int maxProfit(vector<int>& prices) {vector<int& ...
- Python每日一练(20230307) 重复DNA序列、搜索二维矩阵、买卖股票的最佳时机IV
目录 1. 重复的DNA序列 ★★ 2. 搜索二维矩阵 ★★ 3. 买卖股票的最佳时机 IV ★★★
- 第43天| 123.买卖股票的最佳时机III、 188.买卖股票的最佳时机IV
1.题目链接:123. 买卖股票的最佳时机 III 题目描述: 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你最多可以完成 两笔 交易 ...
- LeetCode 188. 买卖股票的最佳时机 IV(动态规划)
1. 题目 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你最多可以完成 k 笔交易. 注意: 你不能同时参与多笔交易(你必须在再次购买 ...
- 188. 买卖股票的最佳时机 IV(JavaScript)
给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你最多可以完成 k 笔交易. 注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前 ...
最新文章
- 一根烟上热搜,先让AI看看你的肺
- 010——VUE中使用lodash库减少watch对后台请求的压力
- jittor和pytorch生成网络对比之dcgan
- 对表单控制是否提交 需要在方法名前面加上 return
- server vscode中的live_VSCode 建议你启用 gopls,它到底是个什么东东?
- 国产中标麒麟Linux部署dotnet core 环境并运行项目 (三) 部署运行WEB API项目
- 使用ISE一键生成bit文件
- [转载]抓大放小,要事为先
- 广东鸿图:搭建业务报表,摆脱人工计数,工作效率提升150%
- python 拆分list,按照对应位置重组
- BeyondCompare3提示许可密钥过期完美解决方法:3281-0350
- linux shell 字典 定义 新增元素
- css数字怎么换行,css实现连续的英文或数字自动换行的方法
- 联想服务器怎么装系统和配置,联想服务器的配置及操作系统的安装.pdf
- 商家开通直播前需了解哪些市场数据?
- Tensorflow 进阶学习
- 子线程何时开启、何时结束
- 视频信号指标与测试方法
- 在Windows下使用Python编程
- 2020年腾讯实习生算法笔试题目(感触良多)