File tree Expand file tree Collapse file tree 1 file changed +15
-14
lines changed
src/main/java/com/fishercoder/solutions Expand file tree Collapse file tree 1 file changed +15
-14
lines changed Original file line number Diff line number Diff line change @@ -39,23 +39,24 @@ After the pressing, you could begin to spell the next character in the key (next
39
39
*/
40
40
public class _514 {
41
41
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
+ }
54
56
}
55
57
}
56
58
}
59
+ return dp [0 ][0 ] + m ;
57
60
}
58
- return dp [0 ][0 ] + m ;
59
61
}
60
-
61
62
}
You can’t perform that action at this time.
0 commit comments