Skip to content

Commit 0100870

Browse files
refactor 514
1 parent 5b35b4a commit 0100870

File tree

1 file changed

+15
-14
lines changed
  • src/main/java/com/fishercoder/solutions

1 file changed

+15
-14
lines changed

src/main/java/com/fishercoder/solutions/_514.java

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -39,23 +39,24 @@ After the pressing, you could begin to spell the next character in the key (next
3939
*/
4040
public class _514 {
4141

42-
public int findRotateSteps(String ring, String key) {
43-
int n = ring.length();
44-
int m = key.length();
45-
int[][] dp = new int[m + 1][n];
46-
for (int i = m - 1; i >= 0; i--) {
47-
for (int j = 0; j < n; j++) {
48-
dp[i][j] = Integer.MAX_VALUE;
49-
for (int k = 0; k < n; k++) {
50-
if (ring.charAt(k) == key.charAt(i)) {
51-
int diff = Math.abs(j - k);
52-
int step = Math.min(diff, n - diff);
53-
dp[i][j] = Math.min(dp[i][j], step + dp[i + 1][k]);
42+
public static class Solution1 {
43+
public int findRotateSteps(String ring, String key) {
44+
int n = ring.length();
45+
int m = key.length();
46+
int[][] dp = new int[m + 1][n];
47+
for (int i = m - 1; i >= 0; i--) {
48+
for (int j = 0; j < n; j++) {
49+
dp[i][j] = Integer.MAX_VALUE;
50+
for (int k = 0; k < n; k++) {
51+
if (ring.charAt(k) == key.charAt(i)) {
52+
int diff = Math.abs(j - k);
53+
int step = Math.min(diff, n - diff);
54+
dp[i][j] = Math.min(dp[i][j], step + dp[i + 1][k]);
55+
}
5456
}
5557
}
5658
}
59+
return dp[0][0] + m;
5760
}
58-
return dp[0][0] + m;
5961
}
60-
6162
}

0 commit comments

Comments
 (0)