สมมติว่าเรามีสตริง 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