This commit is contained in:
youngyangyang04
2021-11-21 15:47:10 +08:00
parent 7c9109daa5
commit 0833024aa3

View File

@ -4,7 +4,7 @@
</a> </a>
## 122.买卖股票的最佳时机II # 122.买卖股票的最佳时机II
[力扣题目链接](https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/) [力扣题目链接](https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/)
@ -16,19 +16,19 @@
示例 1: 示例 1:
输入: [7,1,5,3,6,4] * 输入: [7,1,5,3,6,4]
输出: 7 * 输出: 7
解释: 在第 2 天(股票价格 = 1的时候买入在第 3 天(股票价格 = 5的时候卖出, 这笔交易所能获得利润 = 5-1 = 4。随后在第 4 天(股票价格 = 3的时候买入在第 5 天(股票价格 = 6的时候卖出, 这笔交易所能获得利润 = 6-3 = 3 。 * 解释: 在第 2 天(股票价格 = 1的时候买入在第 3 天(股票价格 = 5的时候卖出, 这笔交易所能获得利润 = 5-1 = 4。随后在第 4 天(股票价格 = 3的时候买入在第 5 天(股票价格 = 6的时候卖出, 这笔交易所能获得利润 = 6-3 = 3 。
示例 2: 示例 2:
输入: [1,2,3,4,5] * 输入: [1,2,3,4,5]
输出: 4 * 输出: 4
解释: 在第 1 天(股票价格 = 1的时候买入在第 5 天 (股票价格 = 5的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。注意你不能在第 1 天和第 2 天接连购买股票,之后再将它们卖出。因为这样属于同时参与了多笔交易,你必须在再次购买前出售掉之前的股票。 * 解释: 在第 1 天(股票价格 = 1的时候买入在第 5 天 (股票价格 = 5的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。注意你不能在第 1 天和第 2 天接连购买股票,之后再将它们卖出。因为这样属于同时参与了多笔交易,你必须在再次购买前出售掉之前的股票。
示例 3: 示例 3:
输入: [7,6,4,3,1] * 输入: [7,6,4,3,1]
输出: 0 * 输出: 0
解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。 * 解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。
提示: 提示:
* 1 <= prices.length <= 3 * 10 ^ 4 * 1 <= prices.length <= 3 * 10 ^ 4
@ -43,7 +43,7 @@
想获得利润至少要两天为一个交易单元。 想获得利润至少要两天为一个交易单元。
## 贪心算法 ### 贪心算法
这道题目可能我们只会想,选一个低的买入,在选个高的卖,在选一个低的买入.....循环反复。 这道题目可能我们只会想,选一个低的买入,在选个高的卖,在选一个低的买入.....循环反复。
@ -92,7 +92,7 @@ public:
* 时间复杂度O(n) * 时间复杂度O(n)
* 空间复杂度O(1) * 空间复杂度O(1)
## 动态规划 ### 动态规划
动态规划将在下一个系列详细讲解本题解先给出我的C++代码(带详细注释),感兴趣的同学可以自己先学习一下。 动态规划将在下一个系列详细讲解本题解先给出我的C++代码(带详细注释),感兴趣的同学可以自己先学习一下。
@ -128,9 +128,9 @@ public:
一旦想到这里了,很自然就会想到贪心了,即:只收集每天的正利润,最后稳稳的就是最大利润了。 一旦想到这里了,很自然就会想到贪心了,即:只收集每天的正利润,最后稳稳的就是最大利润了。
# 其他语言版本 ## 其他语言版本
## Java ### Java
```java ```java
// 贪心思路 // 贪心思路
@ -168,7 +168,7 @@ class Solution { // 动态规划
## Python ### Python
```python ```python
class Solution: class Solution:
def maxProfit(self, prices: List[int]) -> int: def maxProfit(self, prices: List[int]) -> int:
@ -192,7 +192,7 @@ class Solution:
return dp[-1][1] return dp[-1][1]
``` ```
## Go ### Go
```golang ```golang
//贪心算法 //贪心算法
func maxProfit(prices []int) int { func maxProfit(prices []int) int {
@ -228,7 +228,7 @@ func maxProfit(prices []int) int {
} }
``` ```
## Javascript ### Javascript
贪心 贪心
```Javascript ```Javascript
var maxProfit = function(prices) { var maxProfit = function(prices) {
@ -264,7 +264,7 @@ const maxProfit = (prices) => {
}; };
``` ```
## C ### C
```c ```c
int maxProfit(int* prices, int pricesSize){ int maxProfit(int* prices, int pricesSize){
int result = 0; int result = 0;