Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ค้นหาลำดับย่อย palindromic ที่ใหญ่ที่สุดของพจนานุกรมใน Python


สมมติว่าเรามีสตริง S; เราต้องหาลำดับย่อย palindromic ที่ใหญ่ที่สุดของพจนานุกรมของสตริงนั้น

ดังนั้นหากอินพุตเป็นเหมือน "tutorialspointtutorial" ผลลัพธ์จะเป็น "uu"

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • ตอบ :=สตริงว่าง

  • max_val :=s[0]

  • สำหรับผมอยู่ในช่วง 1 ถึงขนาด s ทำ

    • max_val :=สูงสุดของ max_val, s[i]

  • สำหรับฉันในช่วง 0 ถึงขนาด s ทำ

    • ถ้า s[i] เหมือนกับ max_val แล้ว

      • ans :=ans + s[i]

  • กลับมาอีกครั้ง

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

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))

อินพุต

"tutorialspointtutorial"

ผลลัพธ์

uu