Longest Palindromic Subsequence Java
PROGRAM TO FIND LONGEST PALINDROMIC SUBSEQUENCE
OUTPUT:
The length of the LPS is 5
class GFG { // A utility function to get max of two integers static int max(int x, int y) { return (x > y) ? x : y; } // Returns the length of the longest palindromic subsequence in seq static int lps(char seq[], int i, int j) { // Base Case 1: If there is only 1 character if (i == j) { return 1; } // Base Case 2: If there are only 2 characters and both are same if (seq[i] == seq[j] && i + 1 == j) { return 2; } // If the first and last characters match if (seq[i] == seq[j]) { return lps(seq, i + 1, j - 1) + 2; } // If the first and last characters do not match return max(lps(seq, i, j - 1), lps(seq, i + 1, j)); } /* Driver program to test above function */ public static void main(String[] args) { String seq = "GEEKSFORGEEKS"; int n = seq.length(); System.out.printf("The length of the LPS is %d", lps(seq.toCharArray(), 0, n - 1)); }}
The length of the LPS is 5
Comments
Post a Comment