Skip to content

Commit a7fc5b1

Browse files
committed
修改 动态规划.md
1 parent ba83dfb commit a7fc5b1

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

LeetCode/动态规划.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1561,14 +1561,14 @@ public:
15611561
### 解答
15621562
#### 方法1:动态规划
15631563

1564-
开辟两个二维数组`global``local`,定义`global[i][j]`表示到**第j天最多交易i次**获得的最大收益,为全局最优。`local[i][j]`表示到**第j天最多交易i次并且第i次交易就在第j天结束**能获得的最大收益,为局部最优。那么动态转移方程为:
1564+
开辟两个二维数组`global``local`,定义`global[i][j]`表示 **到第j天最多交易i次** 获得的最大收益,为全局最优。`local[i][j]`表示 **到第j天最多交易i次并且最后一次交易就在第j天卖出** 能获得的最大收益,为局部最优。那么动态转移方程为:
15651565

15661566
```
15671567
local[i][j] = max(global[i-1][j-1] + max(diff,0), local[i][j-1] + diff) (diff表示第i天和前一天股票价格的差值)
15681568
global[i][j] = max(local[i][j] , global[i][j-1])
15691569
```
15701570

1571-
这种方法可以求出交易k次能获得最大收益`global[k][len-1]`,取`k=2`就能求出交易两次所获得的最大收益`global[2][len-1]`
1571+
递推式的详细讲解 [参考博客](https://blog.csdn.net/linhuanmars/article/details/23236995)这种方法可以求出交易k次能获得最大收益`global[k][len-1]`,取`k = 2`就能求出交易两次所获得的最大收益`global[2][len-1]`
15721572

15731573
* 时间复杂度O(*n*)
15741574
* 空间复杂度O(*n<sup>2</sup>*)

0 commit comments

Comments
 (0)