parent
9b66c59d72
commit
10f70fbe68
@ -1,69 +0,0 @@
|
||||
package class18;
|
||||
|
||||
public class Code04_ConvertToLetterString {
|
||||
|
||||
public static int number(String str) {
|
||||
if (str == null || str.length() == 0) {
|
||||
return 0;
|
||||
}
|
||||
return process(str.toCharArray(), 0);
|
||||
}
|
||||
|
||||
public static int process(char[] str, int i) {
|
||||
if (i == str.length) {
|
||||
return 1;
|
||||
}
|
||||
if (str[i] == '0') {
|
||||
return 0;
|
||||
}
|
||||
if (str[i] == '1') {
|
||||
int res = process(str, i + 1);
|
||||
if (i + 1 < str.length) {
|
||||
res += process(str, i + 2);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
if (str[i] == '2') {
|
||||
int res = process(str, i + 1);
|
||||
if (i + 1 < str.length && (str[i + 1] >= '0' && str[i + 1] <= '6')) {
|
||||
res += process(str, i + 2); // (i和i+1)作为单独的部分,后续有多少种方法
|
||||
}
|
||||
return res;
|
||||
}
|
||||
return process(str, i + 1);
|
||||
}
|
||||
|
||||
public static int dp(String s) {
|
||||
if (s == null || s.length() == 0) {
|
||||
return 0;
|
||||
}
|
||||
char[] str = s.toCharArray();
|
||||
int N = str.length;
|
||||
int[] dp = new int[N + 1];
|
||||
dp[N] = 1;
|
||||
for (int i = N - 1; i >= 0; i--) {
|
||||
if (str[i] == '0') {
|
||||
dp[i] = 0;
|
||||
} else if (str[i] == '1') {
|
||||
dp[i] = dp[i + 1];
|
||||
if (i + 1 < N) {
|
||||
dp[i] += dp[i + 2];
|
||||
}
|
||||
} else if (str[i] == '2') {
|
||||
dp[i] = dp[i + 1];
|
||||
if (i + 1 < str.length && (str[i + 1] >= '0' && str[i + 1] <= '6')) {
|
||||
dp[i] += dp[i + 2];
|
||||
}
|
||||
} else {
|
||||
dp[i] = dp[i + 1];
|
||||
}
|
||||
}
|
||||
return dp[0];
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.println(number("2132082"));
|
||||
System.out.println(dp("2132082"));
|
||||
}
|
||||
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
package class19;
|
||||
package class20;
|
||||
|
||||
public class Code03_HorseJump {
|
||||
public class Code02_HorseJump {
|
||||
|
||||
public static int ways(int a, int b, int step) {
|
||||
return f(0, 0, step, a, b);
|
@ -1,6 +1,6 @@
|
||||
package class19;
|
||||
package class20;
|
||||
|
||||
public class Code05_MinPathSum {
|
||||
public class Code04_MinPathSum {
|
||||
|
||||
public static int minPathSum1(int[][] m) {
|
||||
if (m == null || m.length == 0 || m[0] == null || m[0].length == 0) {
|
@ -1,4 +1,4 @@
|
||||
package class20;
|
||||
package class21;
|
||||
|
||||
public class Code01_CoinsWayEveryPaperDifferent {
|
||||
|
@ -1,4 +1,4 @@
|
||||
package class20;
|
||||
package class21;
|
||||
|
||||
public class Code02_CoinsWayNoLimit {
|
||||
|
@ -1,4 +1,4 @@
|
||||
package class20;
|
||||
package class21;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map.Entry;
|
@ -1,4 +1,4 @@
|
||||
package class20;
|
||||
package class21;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map.Entry;
|
@ -1,4 +1,4 @@
|
||||
package class20;
|
||||
package class21;
|
||||
|
||||
public class Code05_MinCoinsNoLimit {
|
||||
|
@ -1,4 +1,4 @@
|
||||
package class21;
|
||||
package class22;
|
||||
|
||||
public class Code01_BobDie {
|
||||
|
@ -1,4 +1,4 @@
|
||||
package class21;
|
||||
package class22;
|
||||
|
||||
public class Code02_KillMonster {
|
||||
|
@ -1,4 +1,4 @@
|
||||
package class21;
|
||||
package class22;
|
||||
|
||||
import java.util.TreeSet;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package class21;
|
||||
package class22;
|
||||
|
||||
import java.util.TreeSet;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package class21;
|
||||
package class22;
|
||||
|
||||
public class Code05_NQueens {
|
||||
|
Loading…
Reference in new issue