1
class Solution {
2
public boolean checkPartitioning(String s) {
3
int n = s.length();
4
boolean[][] dp = new boolean[n][n];
5
for (int g = 0; g < n; g++) {
6
for (int i = 0, j = g; j < n; j++, i++) {
7
if (g == 0) dp[i][j] = true;
8
else if (g == 1) dp[i][j] = (s.charAt(i) == s.charAt(j)) ? true : false;
9
else {
10
dp[i][j] = (dp[i + 1][j - 1] & ((s.charAt(i) == s.charAt(j)) ? true : false));
11
}
12
}
13
}
14
for (int i = 0; i < n - 2; i++) {
15
if (dp[0][i]) {
16
for (int j = i + 1; j < n - 1; j++) {
17
if (dp[i + 1][j] && dp[j + 1][n - 1]) {
18
return true;
19
}
20
}
21
}
22
}
23
return false;
24
}
25
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0