diff --git a/notes/Redis.md b/notes/Redis.md
index 82373006..3f76efb1 100644
--- a/notes/Redis.md
+++ b/notes/Redis.md
@@ -70,6 +70,8 @@ OK
+
+
```html
> rpush list-key item
(integer) 1
diff --git a/notes/剑指 offer 题解.md b/notes/剑指 offer 题解.md
index 29952f2f..9c3177b3 100644
--- a/notes/剑指 offer 题解.md
+++ b/notes/剑指 offer 题解.md
@@ -97,6 +97,7 @@
- begin, end 表示左闭右开区间:[begin, end);
- l, h 表示二分查找的闭区间:[l, h];
- ret 表示结果相关的变量;
+- dp 表示动态规划保存子问题的数组;
**复杂度简写说明**
@@ -435,6 +436,16 @@ public int pop() {
以 O(1) 的时间复杂度求菲波那切数列。
+
+
+**解题思路**
+
+如果使用递归求解,那么会重复计算一些子问题。例如,求 f(10) 需要计算 f(9) 和 f(8),计算 f(9) 需要计算 f(8) 和 f(7),可以看到 f(8) 被重复计算了。
+
+
+
+递归方法是将一个问题划分成多个子问题求解,动态规划也是如此,但是动态规划会把子问题的解缓存起来,避免重复求解子问题。
+
```java
public class Solution {
private int[] fib = new int[40];
diff --git a/pics/080f488c-75ef-49a8-a49d-78fa372ad422.png b/pics/080f488c-75ef-49a8-a49d-78fa372ad422.png
new file mode 100644
index 00000000..c40ea2d2
Binary files /dev/null and b/pics/080f488c-75ef-49a8-a49d-78fa372ad422.png differ