-
Notifications
You must be signed in to change notification settings - Fork 476
Expand file tree
/
Copy path1246.java
More file actions
21 lines (21 loc) · 696 Bytes
/
1246.java
File metadata and controls
21 lines (21 loc) · 696 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Solution {
public int minimumMoves(int[] arr) {
int n = arr.length;
int[][] mem = new int[n + 1][n + 1];
for (int l = 1; l <= n; l++) {
int i = 0, j = l - 1;
while (j < n) {
if (l == 1) mem[i][j] = 1;
else {
mem[i][j] = 1 + mem[i + 1][j];
for (int k = i + 1; k <= j; k++) {
if (arr[k] == arr[i])
mem[i][j] = Math.min(mem[i][j], mem[i + 1][k - 1] + mem[k + 1][j] + (i + 1 == k ? 1 : 0));
}
}
++i; ++j;
}
}
return mem[0][n - 1];
}
}