FTPrep, 123 Best Time to Buy and Sell Stock III, 没完全懂,TODO
来源:互联网 发布:网络消费安全的ppt 编辑:程序博客网 时间:2024/06/05 06:34
这题不敢说完全懂了。只能看看别人的代码研究研究思路
先贴在这里,todo
class Solution { public int maxProfit(int[] prices) { if(prices==null || prices.length==0) return 0; int[] local = new int[3]; int[] global = new int[3]; for(int i=0;i<prices.length-1;i++) { int diff = prices[i+1]-prices[i]; for(int j=2;j>=1;j--) { local[j] = Math.max(global[j-1]+(diff>0?diff:0), local[j]+diff); global[j] = Math.max(local[j],global[j]); } } return global[2]; }}// 这题没有完全懂,就是没懂。// 虽说local 和 global这里是 1维 array,实际上是 一个2D的,是因为dp算法只依赖上一列的数值,所以不断的over write,可以节省空间资源。// local是说最后一次交易一定算在里面,也就是说一定在最后一天卖出手头的股票。// global是说整个范围内,一定次数的交易次数后的最大值。// 这样的话,来理解下两个 变量的更新:// local[j] = Math.max(global[j-1]+(diff>0?diff:0), local[j]+diff);// 括号里的是两种情况:1,最后一次交易就是倒数第二天买入,最后第一天卖出,所以这次交易是单独存在的,然后加上global里[j-1]的最优值即可;2,最后一次diff的买点是倒数第二天之前的,所以把最后一天的加上去即可,也就是说是local[j]的一次延续。// global[j] = Math.max(local[j],global[j]);// 括号里的两种情况,就是包含了最后一天卖掉股票的交易,和没有包含的这两种情况:1,就是刚刚更新的local[j]; 2,就是之前就有的 global[j] 不涉及最后一天卖掉股票的这个交易。
阅读全文
0 0
- FTPrep, 123 Best Time to Buy and Sell Stock III, 没完全懂,TODO
- LeetCode 123: Best Time to Buy and Sell Stock III
- LeetCode: Best Time to Buy and Sell Stock III [123]
- LeetCode 123 Best Time to Buy and Sell Stock III
- [leetcode 123] Best Time to Buy and Sell Stock III
- leetcode || 123、Best Time to Buy and Sell Stock III
- leetcode-123 Best Time to Buy and Sell Stock III
- leetcode 123: Best Time to Buy and Sell Stock III
- 123 Best Time to Buy and Sell Stock III [Leetcode]
- Best Time to Buy and Sell Stock III - LeetCode 123
- LeetCode 123: Best Time to Buy and Sell Stock III
- 123Best Time to Buy and Sell Stock III
- LeetCode 123 Best Time to Buy and Sell Stock III
- LeetCode 123 -- Best Time to Buy and Sell Stock III
- Leetcode 123 Best Time to Buy and Sell Stock III
- LeetCode 123 Best Time to Buy and Sell Stock III
- Leetcode Best Time to Buy and Sell Stock III 123
- 123-Best Time to Buy and Sell Stock III
- 【Go】项目目录结构
- (转发)javamail实现用普通QQ邮箱发送邮件
- golang 标准库间依赖的可视化展示
- Algorithms
- 一个数据库死锁问题
- FTPrep, 123 Best Time to Buy and Sell Stock III, 没完全懂,TODO
- FTPrep, 124 Binary Tree Maximum Path Sum
- FTPrep, 125 Valid Palindrome
- FTPrep, 126 Word Ladder II, TODO,略难,没搞懂
- FTPrep, 127 Word Ladder, TODO,略难,没搞懂
- FTPrep, 128 Longest Consecutive Sequence
- FTPrep, 129 Sum Root to Leaf Numbers
- FTPrep, 130 Surrounded Regions
- 【Go】包