How do i print only substrings and not subsequences , current solution prints all subsequence as well?

  Kiến thức lập trình

This is a solution for printing the longest Palindormic substring , here it is printing all the subsequence.

s =
“aacabdkacaa”

Use Testcase
Output
“aacabacaa”

class Solution {
    int i=-1;
    int j=-1;
    String finalStr="";
    public String longestPalindrome(String s) {

        char [] ch= s.toCharArray();
        return longestPalindromicDynamic(ch , 0 , s.length()-1);
        
    }

    public String longestPalindromicDynamic(char [] ch , int m , int n){
       if(m==n) {
        return "" + ch [m];
       }
        if(m>n )
            return "";

        
        if(ch[m]==ch[n]){
            String pal = longestPalindromicDynamic(ch , m+1 , n-1);
           ch [m] +pal + ch [n];
            return ch [m] +pal + ch [n];
        }else {
              String str1=  longestPalindromicDynamic(ch , m+1 , n);
               String str2= longestPalindromicDynamic(ch , m , n-1);

               if (str1.length() > str2.length())
                    return str1;
                else
                    return str2;
        }
    }
}

LEAVE A COMMENT