[leet code] Best Time to Buy and Sell Stock
2014-01-10 04:48
363 查看
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.
==========
Analysis:
My original thought was to calculate all the possible transactions by using nested loop. But got time limit excess error.
I knew it can be done in O(n), but I could not figure it out by myself, so I checked the solutions that were available in Internet. To summarize, in this approach, only the current minimum buy price would be used to calculate the profit (my original approach
was to calculate all the possible transactions).
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.
==========
Analysis:
My original thought was to calculate all the possible transactions by using nested loop. But got time limit excess error.
public class Solution { public int maxProfit(int[] prices) { if (prices.length == 0) return 0; int max = 0; for(int i=0; i<prices.length; i++){ for(int j=i+1; j<prices.length; j++){ int profit = prices[j] - prices[i]; if(max<profit) max = profit; } } return max; } }
I knew it can be done in O(n), but I could not figure it out by myself, so I checked the solutions that were available in Internet. To summarize, in this approach, only the current minimum buy price would be used to calculate the profit (my original approach
was to calculate all the possible transactions).
public class Solution { public int maxProfit(int[] prices) { if (prices.length == 0) return 0; int max = 0; int min = Integer.MAX_VALUE; for(int i=0; i<prices.length; i++){ max = Math.max(max, prices[i]-min); min = Math.min(min, prices[i]); } return max; } }
相关文章推荐
- [lleetcode 121. Best Time to Buy and Sell Stock]|week 16
- [leet code] Best Time to Buy and Sell Stock II
- leecode 解题总结:188. Best Time to Buy and Sell Stock IV
- best-time-to-buy-and-sell-stock Java code
- leecode 解题总结:123. Best Time to Buy and Sell Stock III
- best-time-to-buy-and-sell-stock Java code
- [LeedCode OJ]#121 Best Time to Buy and Sell Stock
- Lettcode_123_Best Time to Buy and Sell Stock III
- CODE 12: Best Time to Buy and Sell Stock
- leecode 解题总结:122. Best Time to Buy and Sell Stock II
- CODE 11: Best Time to Buy and Sell Stock II
- CODE 10: Best Time to Buy and Sell Stock III
- best-time-to-buy-and-sell-stock Java code
- 121. Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock系列问题
- 122. Best Time to Buy and Sell Stock II
- 121. Best Time to Buy and Sell Stock
- leetcode题目:Best Time to Buy and Sell Stock III
- Leetcode: Best Time to Buy and Sell Stock III
- LeetCode Best Time to Buy and Sell Stock III