We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 088bf63 commit f1b58d0Copy full SHA for f1b58d0
lcof/面试题46. 把数字翻译成字符串/README.md
@@ -40,12 +40,12 @@ edit_url: https://github.com/doocs/leetcode/edit/main/lcof/%E9%9D%A2%E8%AF%95%E9
40
41
我们先将数字 `num` 转为字符串 $s,ドル字符串 $s$ 的长度记为 $n$。
42
43
-然后我们设计一个函数 $dfs(i),ドル表示从第 $i$ 个数字开始的不同翻译的数目。那么答案就是 $dfs(0)$。
+然后我们设计一个函数 $dfs(i),ドル表示从索引为 $i$ 的数字开始的不同翻译的数目。那么答案就是 $dfs(0)$。
44
45
函数 $dfs(i)$ 的计算如下:
46
47
-- 如果 $i \ge n - 1,ドル说明已经翻译到最后一个数字,只有一种翻译方法,返回 1ドル$;
48
-- 否则,我们可以选择翻译第 $i$ 个数字,此时翻译方法数目为 $dfs(i + 1)$;如果第 $i$ 个数字和第 $i + 1$ 个数字可以组成一个有效的字符(即 $s[i] == 1$ 或者 $s[i] == 2$ 且 $s[i + 1] \lt 6$),那么我们还可以选择翻译第 $i$ 和第 $i + 1$ 个数字,此时翻译方法数目为 $dfs(i + 2)$。因此 $dfs(i) = dfs(i+1) + dfs(i+2)$。
+- 如果 $i \ge n - 1,ドル说明已经翻译到最后一个数字或者越过最后一个字符,均只有一种翻译方法,返回 1ドル$;
+- 否则,我们可以选择翻译索引为 $i$ 的数字,此时翻译方法数目为 $dfs(i + 1)$;如果索引为 $i$ 的数字和索引为 $i + 1$ 的数字可以组成一个有效的字符(即 $s[i] == 1$ 或者 $s[i] == 2$ 且 $s[i + 1] \lt 6$),那么我们还可以选择翻译索引为 $i$ 和索引为 $i + 1$ 的数字,此时翻译方法数目为 $dfs(i + 2)$。因此 $dfs(i) = dfs(i+1) + dfs(i+2)$。
49
50
过程中我们可以使用记忆化搜索,将已经计算过的 $dfs(i)$ 的值存储起来,避免重复计算。
51
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
0 commit comments