समस्या आश्चर्यजनक रूप से गैर-तुच्छ है। सबसे पहले, दो जानवर बल एल्गोरिदम। एक वर्ग ("दोहराया पैटर्न") इसकी लंबाई द्वारा दिया गया है ℓ और स्थिति पी, और समय लगता है ओ ( ℓ )जांचना। अगर हम सब खत्म हो जाएंℓ तथा पी, हम एक प्राप्त करते हैं ओ (n3)कलन विधि। हम पहले लूपिंग ओवर करके उस पर सुधार कर सकते हैंℓ, और फिर कुछ दूरी पर दो रनिंग पॉइंटर्स के साथ स्ट्रिंग को स्कैन करना ℓ। इस तरह, कोई सत्यापित कर सकता है कि लंबाई का एक वर्ग2 ℓ रैखिक समय में मौजूद है, कुल चलने का समय देता है ओ (n2)।
कोलपकोव और कुचेरोव ने समय में एक शब्द में सभी अधिकतम दोहराता खोजने के लिए एक एल्गोरिदम विकसित कियाओ ( एन ) [१], और उनके एल्गोरिथ्म का उपयोग समय में सभी अधिकतम वर्गों को खोजने के लिए किया जा सकता है ओ ( एन )। एक पुनरावृत्ति फॉर्म का एक सबवॉर्ड हैwकएक्स, कहाँ पे के ≥ २ तथा एक्स का एक उचित उपसर्ग है w। उस दोहराव में निहित सबसे बड़ा वर्ग है(w⌊ के / २ ⌋)2। इस फार्मूले का उपयोग करते हुए, एक शब्द में सभी अधिकतम दोहराता है (जिनमें से केवल वहीं हैंओ ( एन ) कई), सबसे बड़ा वर्ग पा सकते हैं।
[१] कोलपाकोव, आर।, और कुचेरोव, जी। (१ ९९९)। रैखिक समय में एक शब्द में अधिकतम दोहराव ढूँढना । में कंप्यूटर विज्ञान, 1999 40 वीं वार्षिक संगोष्ठी की नींव (पीपी। 596-604)। आईईईई।
142857
यह सबसे लंबा नहीं है क्योंकि142857142857
यह लंबा है। मुझे लगता है कि आपको "दोहराए गए पैटर्न" से क्या मतलब है यह स्पष्ट करने के लिए प्रश्न को संपादित करना चाहिए।