This commit is contained in:
ShusenTang
2020-06-21 09:35:59 +08:00
committed by GitHub
parent 0991490c09
commit e9285f17ee
+1 -1
View File
@@ -9,7 +9,7 @@
时间复杂度O(mn),空间复杂度O(mn)
### 空间改进版1
思路一的空间还有改进空间,因为每次计算dp[i][j]时只用到了`dp[i - 1][j]``dp[i][j - 1]`,即每次更新只用到了dp的两行。所以我们没必要开那么大一个二维数组而只用开辟两个打消我m的一维数组cur和pre就行了,分别代表当前行和前一行。然后将思路一中的`dp[i][j] = dp[i-1][j] + dp[i][j-1]` 改成`cur[i] = cur[i - 1] + pre[i]`即可(每轮循环后要对调指针pre和cur以更新pre,具体见代码)。
思路一的空间还有改进空间,因为每次计算dp[i][j]时只用到了`dp[i - 1][j]``dp[i][j - 1]`,即每次更新只用到了dp的两行。所以我们没必要开那么大一个二维数组而只用开辟两个大小为m的一维数组cur和pre就行了,分别代表当前行和前一行。然后将思路一中的`dp[i][j] = dp[i-1][j] + dp[i][j-1]` 改成`cur[i] = cur[i - 1] + pre[i]`即可(每轮循环后要对调指针pre和cur以更新pre,具体见代码)。
时间复杂度O(mn),空间复杂度O(m)
### 空间改进版2