Skip to content

Commit c9d4f1a

Browse files
authored
Create Minimum Operations to Make a Special Number.java
1 parent 5642e0c commit c9d4f1a

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
class Solution {
2+
3+
private final int NOT_FOUND_VALUE = 100_000;
4+
5+
public int minimumOperations(String num) {
6+
Integer[][] dp = new Integer[100][25];
7+
return helper(num, 0, 0, dp);
8+
}
9+
10+
private int helper(String num, int idx, int mod, Integer[][] dp) {
11+
if (idx == num.length()) {
12+
if (mod == 0) {
13+
return 0;
14+
}
15+
return NOT_FOUND_VALUE;
16+
}
17+
if (dp[idx][mod] != null) {
18+
return dp[idx][mod];
19+
}
20+
int take = helper(num, idx + 1, (mod * 10 + (num.charAt(idx) - '0')) % 25, dp);
21+
int remove = 1 + helper(num, idx + 1, mod, dp);
22+
dp[idx][mod] = Math.min(take, remove);
23+
return dp[idx][mod];
24+
}
25+
}

0 commit comments

Comments
 (0)