File tree Expand file tree Collapse file tree 1 file changed +35
-0
lines changed
Expand file tree Collapse file tree 1 file changed +35
-0
lines changed Original file line number Diff line number Diff line change 1+ ``` java
2+ import java.util.* ;
3+ import java.io.* ;
4+
5+ class Solution
6+ {
7+ public static void main (String [] args ) throws Exception {
8+ BufferedReader br = new BufferedReader (new InputStreamReader (System . in));
9+ StringTokenizer st = new StringTokenizer (br. readLine());
10+
11+ int N = Integer . parseInt(st. nextToken());
12+ String target = br. readLine(). trim();
13+ String reverseTarget = " " ;
14+ StringBuilder sb = new StringBuilder ();
15+ int [][] dp = new int [N + 1 ][N + 1 ];
16+ for (int i = N - 1 ; i > - 1 ; i-- ) {
17+ sb. append(target. charAt(i));
18+ }
19+ reverseTarget = sb. toString();
20+
21+ for (int i = 1 ; i < N + 1 ; i++ ) {
22+ for (int j = 1 ; j < N + 1 ; j++ ) {
23+ if (target. charAt(i- 1 ) != reverseTarget. charAt(j- 1 )) {
24+ dp[i][j] = Math . max(dp[i][j- 1 ], dp[i- 1 ][j]);
25+ } else {
26+ dp[i][j] = dp[i- 1 ][j- 1 ] + 1 ;
27+ }
28+ }
29+ }
30+
31+ System . out. println(N - dp[N ][N ]);
32+ }
33+ }
34+
35+ ```
You can’t perform that action at this time.
0 commit comments