From d5b0e2f4578786e6d0dce3aa0a9443ca99a9c7c2 Mon Sep 17 00:00:00 2001 From: krahets Date: Fri, 31 May 2024 12:43:55 +0800 Subject: [PATCH] Add @khoaxuantu to the landing page. --- .../climbing_stairs_constraint_dp.rb | 4 ++-- docs/assets/avatar/avatar_khoaxuantu.jpg | Bin 0 -> 9724 bytes docs/chapter_data_structure/summary.md | 4 ++-- docs/index.html | 7 +++++++ overrides/stylesheets/extra.css | 2 +- 5 files changed, 12 insertions(+), 5 deletions(-) create mode 100644 docs/assets/avatar/avatar_khoaxuantu.jpg 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 0000000000000000000000000000000000000000..f7e1e8f3cc8e39831bd5a2a3e0ff6361b1748c12 GIT binary patch literal 9724 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 literal 0 HcmV?d00001 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 +