3.Best Time to Buy and Sell Stock(买卖股票)
2024-09-04 18:15:28
Level:
Easy
题目描述:
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 (i.e., buy one and sell one share of the stock), design an algorithm to find the maximum profit.
Note that you cannot sell a stock before you buy one.
Example 1:
Input: [7,1,5,3,6,4]
Output: 5
Explanation: Buy on day 2 (price = 1) and sell on day 5 (price = 6), profit = 6-1 = 5.
Not 7-1 = 6, as selling price needs to be larger than buying price.
Example 2:
Input: [7,6,4,3,1]
Output: 0
Explanation: In this case, no transaction is done, i.e. max profit = 0.
思路分析:
遍历数组,保存当前遇到的最小元素minval,然后计算访问到的元素与其差值,保留遇到的最大差值,就是结果。
代码:
class Solution {
public int maxProfit(int[] prices) {
int minVal=Integer.MAX_VALUE;
int difference=0;
for(int i=0;i<prices.length;i++){
minVal=Math.min(prices[i],minVal);
difference=Math.max(difference,prices[i]-minVal);
}
return difference;
}
}
最新文章
- MSYS2环境下编译X265
- ->;code vs 1474 十进制转m进制
- (转载)spring mvc DispatcherServlet详解之一---处理请求深入解析
- QThread
- jquery checkbox checked
- java9-7 成员内部类的修饰符
- centos ssh 免密码登录
- C#泛型集合—Dictionary<;K,V>;使用技巧
- git学习小结 (笔记)
- 安卓扫码:简单的ZXing使用记录
- Python Extension Packages下载链接
- [.NET] 《Effective C#》快速笔记(四)- 使用框架
- innobackup全备与恢复
- 20160215.CCPP体系详解(0025天)
- Go语言中的Iota
- UDP广播-缓冲区过小
- tomcat下服务启动失败原因
- SD从零开始13-14
- linux command ------ netstat
- 10 Go 1.10 Release Notes