Added best-time-to-buy-and-sell-stock-ii

This commit is contained in:
Chris Qi 2020-11-02 17:11:24 +00:00
parent 6a9a9e792a
commit 80c9c496fb
2 changed files with 42 additions and 0 deletions

View File

@ -1179,6 +1179,48 @@ public int maxProfit(int k, int[] prices) {
} }
``` ```
## 5. 能进行任意次数的股票交易 (Easy)
122\. Best Time to Buy and Sell Stock II
[Leetcode](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/)
可以有任意次数买入和卖出求最大收益
```html
输入: [7,1,5,3,6,4]
输出: 7
解释
- 第二天以1的价格买入第三天以5的价格卖出.利润就是 5-1 = 4.
- 第四天以3的价格买入第五天以6的价格卖出.利润就是 6-3 = 3.
- 所以总共利润就是4+3 = 7.
```
## 解题思路
使用峰谷策略
TODO: 添加图片 notes/pics/maxprofit2.png
```java
public int maxProfit(int[] prices) {
int i = 0;
int valley = prices[0];
int peak = prices[0];
int maxprofit = 0;
while (i < prices.length - 1) {
while (i < prices.length - 1 && prices[i] >= prices[i + 1])
i++;
valley = prices[i];
while (i < prices.length - 1 && prices[i] <= prices[i + 1])
i++;
peak = prices[i];
maxprofit += peak - valley;
}
return maxprofit;
}
```
# 字符串编辑 # 字符串编辑
## 1. 删除两个字符串的字符使它们相等 ## 1. 删除两个字符串的字符使它们相等

BIN
notes/pics/maxprofit2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB