1
ค้นหาการวนซ้ำที่ยาวที่สุด
กำหนดสตริงผมอยากจะหาที่ยาวที่สุดในการทำซ้ำ (อย่างน้อยสองครั้ง) subsequence นั่นคือผมอยากจะพบสตริงซึ่งเป็น subsequence (ที่ไม่จำเป็นต้องเป็นที่ต่อเนื่องกัน) ของเช่นว่าw' นั่นคือคือสตริงที่แบ่งครึ่งปรากฏเป็นสองเท่าในแถว โปรดทราบว่าคือองค์ประกอบของแต่ไม่จำเป็นต้องเป็นสตริงย่อยssswwwsssw=w′⋅w′w=w′⋅w′w=w' \cdot w' wwwwwwsss ตัวอย่าง: สำหรับ 'ababccabdc' มันจะเป็น 'abcabc' เพราะ 'abc' = 'abc' และ 'abc' จะปรากฏขึ้น (อย่างน้อย) สองครั้งใน 'ababccabdc' สำหรับ 'addbacddabcd' ตัวเลือกหนึ่งคือ 'dddd' เพราะ 'dd' ปรากฏขึ้นสองครั้ง (ฉันไม่สามารถใช้ตัวอักษรเดียวกันหลาย ๆ ครั้งได้ แต่ที่นี่ฉันมี 4 'd ดังนั้นมันก็โอเค) แต่มันก็ดีกว่า 4 ความยาว 8: 'abcdabcd' เนื่องจาก 'abcd' เป็นซับสตริงของ 'addbacddabcd' …