[leet code] Best Time to Buy and Sell Stock
来源:互联网 发布:js obj 获取value 编辑:程序博客网 时间:2024/04/30 13:15
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.
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; }}
0 0
- [leet code] Best Time to Buy and Sell Stock II
- [leet code] Best Time to Buy and Sell Stock
- CODE 12: Best Time to Buy and Sell Stock
- 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
- best-time-to-buy-and-sell-stock Java code
- best-time-to-buy-and-sell-stock Java code
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time To Buy and Sell Stock
- 百炼:(1088)滑雪
- 简单一招用BAT批量获取和修改文件名的方法
- 推荐两款富文本编辑器:NicEdit和Kindeditor
- 从客户端中检测到有潜在危险的 Request.Form 值的详细解决方法
- .net MVC 表单提交
- [leet code] Best Time to Buy and Sell Stock
- 快速排序、三路快排、双基准
- 序列化
- Candy
- iTunes Connect程序被拒,如何申诉?
- Excel中强大的数据导入功能
- 硬件工程师的软件之路—— ARM板卡的调试流程
- Linux 获取CPU温度
- js获取光标位置和设置文本框光标位置