diff --git a/problems/0070.爬楼梯.md b/problems/0070.爬楼梯.md
index a2f664a4..6a13a21c 100644
--- a/problems/0070.爬楼梯.md
+++ b/problems/0070.爬楼梯.md
@@ -130,8 +130,8 @@ public:
};
```
-* 时间复杂度:$O(n)$
-* 空间复杂度:$O(n)$
+* 时间复杂度:O(n)
+* 空间复杂度:O(n)
当然依然也可以,优化一下空间复杂度,代码如下:
@@ -154,8 +154,8 @@ public:
};
```
-* 时间复杂度:$O(n)$
-* 空间复杂度:$O(1)$
+* 时间复杂度:O(n)
+* 空间复杂度:O(1)
后面将讲解的很多动规的题目其实都是当前状态依赖前两个,或者前三个状态,都可以做空间上的优化,**但我个人认为面试中能写出版本一就够了哈,清晰明了,如果面试官要求进一步优化空间的话,我们再去优化**。
@@ -524,3 +524,4 @@ impl Solution {
+
diff --git a/problems/0518.零钱兑换II.md b/problems/0518.零钱兑换II.md
index 833d5ed6..835df852 100644
--- a/problems/0518.零钱兑换II.md
+++ b/problems/0518.零钱兑换II.md
@@ -546,7 +546,7 @@ object Solution {
}
}
```
-## C
+### C
```c
int change(int amount, int* coins, int coinsSize) {
@@ -593,37 +593,3 @@ public class Solution
-
-----------
-
-
-
-回归本题,动规五步曲来分析如下:
-
-1. 确定dp数组以及下标的含义
-
-dp[j]:凑成总金额j的货币组合数为dp[j]
-
-2. 确定递推公式
-
-dp[j] 就是所有的dp[j - coins[i]](考虑coins[i]的情况)相加。
-
-所以递推公式:dp[j] += dp[j - coins[i]];
-
-**这个递推公式大家应该不陌生了,我在讲解01背包题目的时候在这篇[494. 目标和](https://programmercarl.com/0494.目标和.html)中就讲解了,求装满背包有几种方法,公式都是:dp[j] += dp[j - nums[i]];**
-
-3. dp数组如何初始化
-
-首先dp[0]一定要为1,dp[0] = 1是 递归公式的基础。如果dp[0] = 0 的话,后面所有推导出来的值都是0了。
-
-那么 dp[0] = 1 有没有含义,其实既可以说 凑成总金额0的货币组合数为1,也可以说 凑成总金额0的货币组合数为0,好像都没有毛病。
-
-但题目描述中,也没明确说 amount = 0 的情况,结果应该是多少。
-
-这里我认为题目描述还是要说明一下,因为后台测试数据是默认,amount = 0 的情况,组合数为1的。
-
-下标非0的dp[j]初始化为0,这样累计加dp[j - coins[i]]的时候才不会影响真正的dp[j]
-
-dp[0]=1还说明了一种情况:如果正好选了coins[i]后,也就是j-coins[i] == 0的情况表示这个硬币刚好能选,此时dp[0]为1表示只选coins[i]存在这样的一种选法。
-
-----------------