[Leetcode] 123. Best Time to Buy and Sell Stock III
来源:互联网 发布:淘宝小号直销商 编辑:程序博客网 时间:2024/04/29 05:38
Say you have an array for which the ith element is the price of a given stock on day i.
Design an algorithm to find the maximum profit. You may complete at most two transactions.
Note:
You may not engage in multiple transactions at the same time (ie, you must sell the stock before you buy again).
public class Solution { public int maxProfit(int[] prices) { if(prices == null || prices.length <= 1) return 0; int[] left = new int[prices.length]; int[] right = new int[prices.length]; //first DP int minPrice = prices[0]; left[0] = 0; for(int i = 1; i < prices.length; i++){ left[i] = Math.max(left[i - 1], prices[i] - minPrice); minPrice = Math.min(minPrice, prices[i]); } //second DP int maxPrice = prices[prices.length - 1]; right[prices.length - 1] = 0; for(int i = prices.length - 2; i >= 0; i--){ right[i] = Math.max(right[i + 1], maxPrice - prices[i]); maxPrice = Math.max(maxPrice, prices[i]); } int profit = 0; for(int i = 0; i < prices.length; i++){ profit = Math.max(profit, left[i] + right[i]); } return profit; }}
0 0
- 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
- [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
- 【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
- [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] 120. Triangle
- [Leetcode] 121. Best Time to Buy and Sell Stock
- 黑马程序员—集合部分
- Mac:当iPhone连接苹果电脑时,自动弹出照片的解决方案
- [Leetcode] 122. Best Time to Buy and Sell Stock II
- [Leetcode] 123. Best Time to Buy and Sell Stock III
- Oracle字符集的查看查询和Oracle字符集的设置修改
- 黑马程序员—Map集合
- oracle数据库字符集、服务器字符集、客户端字符集
- windows phone控件深入理解
- Cracking the Coding Interview 150题(二)
- 黑马程序员—IO
- wejfg
- [Leetcode] 124. Binary Tree Maximum Path Sum