auto commit
This commit is contained in:
27
docs/notes/63. 股票的最大利润.md
Normal file
27
docs/notes/63. 股票的最大利润.md
Normal file
@ -0,0 +1,27 @@
|
||||
# 63. 股票的最大利润
|
||||
|
||||
[Leetcode](https://leetcode.com/problems/best-time-to-buy-and-sell-stock/description/)
|
||||
|
||||
## 题目描述
|
||||
|
||||
可以有一次买入和一次卖出,买入必须在前。求最大收益。
|
||||
|
||||
<img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/42661013-750f-420b-b3c1-437e9a11fb65.png" width="220px">
|
||||
|
||||
## 解题思路
|
||||
|
||||
使用贪心策略,假设第 i 轮进行卖出操作,买入操作价格应该在 i 之前并且价格最低。
|
||||
|
||||
```java
|
||||
public int maxProfit(int[] prices) {
|
||||
if (prices == null || prices.length == 0)
|
||||
return 0;
|
||||
int soFarMin = prices[0];
|
||||
int maxProfit = 0;
|
||||
for (int i = 1; i < prices.length; i++) {
|
||||
soFarMin = Math.min(soFarMin, prices[i]);
|
||||
maxProfit = Math.max(maxProfit, prices[i] - soFarMin);
|
||||
}
|
||||
return maxProfit;
|
||||
}
|
||||
```
|
Reference in New Issue
Block a user