Find the lexicographically largest palindromic Subsequence of a String in Python

PythonServer Side ProgrammingProgramming

Suppose we have a string S; we have to find the lexicographically largest palindromic subsequence of that string.

So, if the input is like "tutorialspointtutorial", then the output will be "uu"

To solve this, we will follow these steps −

  • ans := blank string

  • max_val := s[0]

  • for i in range 1 to size of s, do

    • max_val := maximum of max_val, s[i]

  • for i in range 0 to size of s, do

    • if s[i] is same as max_val, then

      • ans := ans + s[i]

  • return ans

Example 

Let us see the following implementation to get better understanding −

 Live Demo

def largest_palindromic_substr(s):
   ans = ""
   max_val = s[0]
   for i in range(1, len(s)):
      max_val = max(max_val, s[i])
   for i in range(0, len(s)):
      if s[i] == max_val:
         ans += s[i]
   return ans

s = "tutorialspointtutorial"
print(largest_palindromic_substr(s))

Input

"tutorialspointtutorial"

Output

uu
raja
Published on 20-Aug-2020 07:39:36
Advertisements