There was an error while loading. Please reload this page.
1 parent 5629743 commit 3b17391Copy full SHA for 3b17391
src/class19/Code02_ConvertToLetterString.java
@@ -68,6 +68,11 @@ public static int dp2(String s) {
68
dp[0] = 1;
69
for (int i = 1; i < N; i++) {
70
if (str[i] == '0') {
71
+// 如果此时str[i]=='0',那么他是一定要拉前一个字符(i-1的字符)一起拼的,
72
+// 那么就要求前一个字符,不能也是‘0’,否则拼不了。
73
+// 前一个字符不是‘0’就够了嘛?不够,还得要求拼完了要么是10,要么是20,如果更大的话,拼不了。
74
+// 这就够了嘛?还不够,你们拼完了,还得要求str[0...i-2]真的可以被分解!
75
+// 如果str[0...i-2]都不存在分解方案,那i和i-1拼成了也不行,因为之前的搞定不了。
76
if (str[i - 1] == '0' || str[i - 1] > '2' || (i - 2 >= 0 && dp[i - 2] == 0)) {
77
return 0;
78
} else {
0 commit comments