diff --git a/docs/notes/剑指 Offer 题解 - 10~19.md b/docs/notes/剑指 Offer 题解 - 10~19.md index 38f084eb..598ad80e 100644 --- a/docs/notes/剑指 Offer 题解 - 10~19.md +++ b/docs/notes/剑指 Offer 题解 - 10~19.md @@ -30,10 +30,9 @@ ## 解题思路 -如果使用递归求解,会重复计算一些子问题。例如,计算 f(10) 需要计算 f(9) 和 f(8),计算 f(9) 需要计算 f(8) 和 f(7),可以看到 f(8) 被重复计算了。 - -

+如果使用递归求解,会重复计算一些子问题。例如,计算 f(4) 需要计算 f(3) 和 f(2),计算 f(3) 需要计算 f(2) 和 f(1),可以看到 f(2) 被重复计算了。 +

递归是将一个问题划分成多个子问题求解,动态规划也是如此,但是动态规划会把子问题的解缓存起来,从而避免重复求解子问题。 @@ -93,7 +92,7 @@ public class Solution { 我们可以用 2\*1 的小矩形横着或者竖着去覆盖更大的矩形。请问用 n 个 2\*1 的小矩形无重叠地覆盖一个 2\*n 的大矩形,总共有多少种方法? -

+

## 解题思路 diff --git a/docs/pics/45be9587-6069-4ab7-b9ac-840db1a53744.jpg b/docs/pics/45be9587-6069-4ab7-b9ac-840db1a53744.jpg index 1d845773..336ee59b 100644 Binary files a/docs/pics/45be9587-6069-4ab7-b9ac-840db1a53744.jpg and b/docs/pics/45be9587-6069-4ab7-b9ac-840db1a53744.jpg differ diff --git a/docs/pics/48b1d459-8832-4e92-938a-728aae730739.jpg b/docs/pics/48b1d459-8832-4e92-938a-728aae730739.jpg index 608fe22e..8adfea82 100644 Binary files a/docs/pics/48b1d459-8832-4e92-938a-728aae730739.jpg and b/docs/pics/48b1d459-8832-4e92-938a-728aae730739.jpg differ diff --git a/docs/pics/b903fda8-07d0-46a7-91a7-e803892895cf.gif b/docs/pics/b903fda8-07d0-46a7-91a7-e803892895cf.gif new file mode 100644 index 00000000..873aac86 Binary files /dev/null and b/docs/pics/b903fda8-07d0-46a7-91a7-e803892895cf.gif differ diff --git a/docs/pics/c13e2a3d-b01c-4a08-a69b-db2c4e821e09.png b/docs/pics/c13e2a3d-b01c-4a08-a69b-db2c4e821e09.png new file mode 100644 index 00000000..69fe1ba2 Binary files /dev/null and b/docs/pics/c13e2a3d-b01c-4a08-a69b-db2c4e821e09.png differ diff --git a/notes/pics/45be9587-6069-4ab7-b9ac-840db1a53744.jpg b/notes/pics/45be9587-6069-4ab7-b9ac-840db1a53744.jpg index 1d845773..336ee59b 100644 Binary files a/notes/pics/45be9587-6069-4ab7-b9ac-840db1a53744.jpg and b/notes/pics/45be9587-6069-4ab7-b9ac-840db1a53744.jpg differ diff --git a/notes/pics/48b1d459-8832-4e92-938a-728aae730739.jpg b/notes/pics/48b1d459-8832-4e92-938a-728aae730739.jpg index 608fe22e..8adfea82 100644 Binary files a/notes/pics/48b1d459-8832-4e92-938a-728aae730739.jpg and b/notes/pics/48b1d459-8832-4e92-938a-728aae730739.jpg differ diff --git a/notes/pics/b903fda8-07d0-46a7-91a7-e803892895cf.gif b/notes/pics/b903fda8-07d0-46a7-91a7-e803892895cf.gif new file mode 100644 index 00000000..873aac86 Binary files /dev/null and b/notes/pics/b903fda8-07d0-46a7-91a7-e803892895cf.gif differ diff --git a/notes/pics/c13e2a3d-b01c-4a08-a69b-db2c4e821e09.png b/notes/pics/c13e2a3d-b01c-4a08-a69b-db2c4e821e09.png new file mode 100644 index 00000000..69fe1ba2 Binary files /dev/null and b/notes/pics/c13e2a3d-b01c-4a08-a69b-db2c4e821e09.png differ diff --git a/notes/剑指 Offer 题解 - 10~19.md b/notes/剑指 Offer 题解 - 10~19.md index aedba944..4a5b7c1e 100644 --- a/notes/剑指 Offer 题解 - 10~19.md +++ b/notes/剑指 Offer 题解 - 10~19.md @@ -30,10 +30,9 @@ ## 解题思路 -如果使用递归求解,会重复计算一些子问题。例如,计算 f(10) 需要计算 f(9) 和 f(8),计算 f(9) 需要计算 f(8) 和 f(7),可以看到 f(8) 被重复计算了。 - -

+如果使用递归求解,会重复计算一些子问题。例如,计算 f(4) 需要计算 f(3) 和 f(2),计算 f(3) 需要计算 f(2) 和 f(1),可以看到 f(2) 被重复计算了。 +

递归是将一个问题划分成多个子问题求解,动态规划也是如此,但是动态规划会把子问题的解缓存起来,从而避免重复求解子问题。 @@ -93,7 +92,7 @@ public class Solution { 我们可以用 2\*1 的小矩形横着或者竖着去覆盖更大的矩形。请问用 n 个 2\*1 的小矩形无重叠地覆盖一个 2\*n 的大矩形,总共有多少种方法? -

+

## 解题思路