কম্পিউটার টিউটোরিয়াল

পাইথনে স্ট্রিং-র লেক্সিকোগ্রাফিক্যালি সবচেয়ে বড় প্যালিনড্রোমিক সাবসিকোয়েন্স

একটি স্ট্রিং S দেওয়া আছে। S-র লেক্সিকোগ্রাফিক্যালি (lexicographically) সবচেয়ে বড় প্যালিনড্রোমিক সাবসিকোয়েন্স (palindromic subsequence) খুঁজে বের করতে হবে।

উদাহরণ

ইনপুট: "tutorialspointtutorial"

আউটপুট: "uu"

ব্যাখ্যা: স্ট্রিং-র সবচেয়ে বড় ক্যারেক্টার 'u'। এটি দুবার এসেছে। "uu" একটি প্যালিনড্রোম এবং লেক্সিকোগ্রাফিক্যালি সর্বোচ্চ।

সমাধানের পদ্ধতি

  1. স্ট্রিং-র সবচেয়ে বড় ক্যারেক্টার (max_val) বের করুন।
  2. স্ট্রিং-এ যaviaবার max_val এসেছে, সেগুলো সব একসাথে নিন।
  3. এই স্ট্রিংটি প্যালিনড্রোম হবে (কারণ সব ক্যারেক্টার একই) এবং লেক্সিকোগ্রাফিক্যালি সর্বোচ্চ।

পাইথন কোড


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(len(s)):
        if s[i] == max_val:
            ans += s[i]
    return ans

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

ইনপুট

"tutorialspointtutorial"

আউটপুট

uu
  1. পাইথন প্রোগ্রাম অ্যারেতে সবচেয়ে বড় এলিমেন্ট বের করা

  2. পাইথন প্রোগ্রাম: অ্যানাগ্রাম শব্দের সর্বোচ্চ সাবসেটের আকার বের করা (Duplicate)

  3. পাইথনে স্ট্রিংয়ের প্রথম পুনরাবৃত্ত শব্দ খুঁজে বের করার প্রোগ্রাম

  4. পাইথনে বাইনারি রিপ্রেজেন্টেশনে সর্বোচ্চ συνεχে ১-এর দৈর্ঘ্য বের করার প্রোগ্রাম