diff --git a/codes/ruby/chapter_dynamic_programming/climbing_stairs_constraint_dp.rb b/codes/ruby/chapter_dynamic_programming/climbing_stairs_constraint_dp.rb
index 1421d09f5..4d6bf065f 100644
--- a/codes/ruby/chapter_dynamic_programming/climbing_stairs_constraint_dp.rb
+++ b/codes/ruby/chapter_dynamic_programming/climbing_stairs_constraint_dp.rb
@@ -5,7 +5,7 @@ Author: Xuan Khoa Tu Nguyen (ngxktuzkai2000@gmail.com)
=end
### 带约束爬楼梯:动态规划 ###
-def climbing_stairs_backtrack(n)
+def climbing_stairs_constraint_dp(n)
return 1 if n == 1 || n == 2
# 初始化 dp 表,用于存储子问题的解
@@ -26,6 +26,6 @@ end
if __FILE__ == $0
n = 9
- res = climbing_stairs_backtrack(n)
+ res = climbing_stairs_constraint_dp(n)
puts "爬 #{n} 阶楼梯共有 #{res} 种方案"
end
diff --git a/docs/assets/avatar/avatar_khoaxuantu.jpg b/docs/assets/avatar/avatar_khoaxuantu.jpg
new file mode 100644
index 000000000..f7e1e8f3c
Binary files /dev/null and b/docs/assets/avatar/avatar_khoaxuantu.jpg differ
diff --git a/docs/chapter_data_structure/summary.md b/docs/chapter_data_structure/summary.md
index 38425fa46..54af46600 100644
--- a/docs/chapter_data_structure/summary.md
+++ b/docs/chapter_data_structure/summary.md
@@ -35,7 +35,7 @@
**Q**:原码转补码的方法是“先取反后加 1”,那么补码转原码应该是逆运算“先减 1 后取反”,而补码转原码也一样可以通过“先取反后加 1”得到,这是为什么呢?
-**A**:这是因为原码和补码的相互转换实际上是计算“补数”的过程。我们先给出补数的定义:假设 $a + b = c$ ,那么我们称 $a$ 是 $b$ 到 $c$ 的补数,反之也称 $b$ 是 $a$ 到 $c$ 的补数。
+这是因为原码和补码的相互转换实际上是计算“补数”的过程。我们先给出补数的定义:假设 $a + b = c$ ,那么我们称 $a$ 是 $b$ 到 $c$ 的补数,反之也称 $b$ 是 $a$ 到 $c$ 的补数。
给定一个 $n = 4$ 位长度的二进制数 $0010$ ,如果将这个数字看作原码(不考虑符号位),那么它的补码需通过“先取反后加 1”得到:
@@ -63,4 +63,4 @@ $$
本质上看,“取反”操作实际上是求到 $1111$ 的补数(因为恒有 `原码 + 反码 = 1111`);而在反码基础上再加 1 得到的补码,就是到 $10000$ 的补数。
-上述 $n = 4$ 为例,其可推广至任意位数的二进制数。
+上述以 $n = 4$ 为例,其可被推广至任意位数的二进制数。
diff --git a/docs/index.html b/docs/index.html
index 9726d5b33..965774d9a 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -322,6 +322,13 @@
JS, TS
+