Skip to content

Commit 667ceb4

Browse files
authored
Update 2019-08-09.md
1 parent 5f2b865 commit 667ceb4

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

daily/2019-08-09.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,12 @@
2020
解释: 因为路径 1→3→1→1→1 的总和最小。
2121
```
2222
## 参考答案
23-
动态规划求解,时间复杂度O(n*m)
24-
>
23+
2524
我们新建一个额外的dp数组,与原矩阵大小相同。在这个矩阵中,dp(i,j)表示从原点到坐标(i,j)的最小路径和。我们初始化dp值为对应的原矩阵值,然后去填整个矩阵,对于每个元素考虑从上方移动过来还是从左方移动过来,因此获得最小路径和我们有如下递推公式:`dp(i,j)=grid(i,j)+min(dp(i-1,j),dp(i,j-1))`
25+
26+
27+
我们可以使用原地算法,这样就不需要开辟dp数组,空间复杂度可以降低到$O(1)$。
28+
2629
```c++
2730
class Solution {
2831
public:
@@ -57,6 +60,11 @@ public:
5760
}
5861
};
5962
```
63+
64+
65+
**复杂度分析**
66+
- 时间复杂度:$O(M * N)$
67+
- 空间复杂度:$O(1)$
6068
## 其他优秀解答
6169
6270
> 暂缺

0 commit comments

Comments
 (0)