【Leetcode】Best Time to Buy and Sell Stock (DP)
2014-11-03 06:29
399 查看
Say you have an array for which the ith element is the price of a given stock on day i.
If you were only permitted to complete at most one transaction (ie, buy one and sell one share of the stock), design an algorithm to find the maximum profit.
这道题看上去像是求最大值最小值问题,即在最小值点买入,最大值点卖出,这样就能获得最大利润。但是因为有可能出现最大值在最小值前面,所以不可能先卖再买。此方法行不通。
所以我们采用局部最优和全局最优来动态规划
If you were only permitted to complete at most one transaction (ie, buy one and sell one share of the stock), design an algorithm to find the maximum profit.
这道题看上去像是求最大值最小值问题,即在最小值点买入,最大值点卖出,这样就能获得最大利润。但是因为有可能出现最大值在最小值前面,所以不可能先卖再买。此方法行不通。
所以我们采用局部最优和全局最优来动态规划
public static int maxProfit(int[] prices) { int localMax = 0; int globalMax = 0; for (int i = 0; i < prices.length - 1; i++) { localMax = Math.max(0, localMax + prices[i + 1] - prices[i]); globalMax = Math.max(globalMax, localMax); } return globalMax; }
相关文章推荐
- 【LeetCode】Best Time to Buy and Sell Stock IV 动态规划dp解法(C++)
- leetcode123. [DP]Best Time to Buy and Sell Stock III
- LeetCode Best Time to Buy and Sell Stock(dp)
- [LeetCode] [Python] [DP] Best Time to Buy and Sell Stock
- 【Leetcode】Best Time to Buy and Sell Stock III (DP)
- ***Leetcode 188. Best Time to Buy and Sell Stock IV | dp
- [leetcode][DP] Best Time to Buy and Sell Stock III
- leetcode122.[DP] Best Time to Buy and Sell Stock II
- LeetCode Best Time to Buy and Sell Stock III(dp)
- [LeetCode] [Python] [DP] Best Time to Buy and Sell Stock III
- [LeetCode] DP之 Best time to buy and sell stock with transaction fee
- leetcode121.[DP]Best Time to Buy and Sell Stock
- [leetcode][DP] Best Time to Buy and Sell Stock III
- [leetcode][DP] Best Time to Buy and Sell Stock
- [leetcode][DP] Best Time to Buy and Sell Stock
- [LeetCode] Best Time to Buy and Sell Stock 6道合集【DP】
- [Leetcode] Best Time to Buy and Sell Stock III
- LeetCode : Best Time to Buy and Sell Stock II
- leetcode5: Best Time to Buy and Sell Stock
- [LeetCode] Best Time to Buy and Sell Stock II Solution