न्यूनतम दूरी दोहराई जाने वाली उप-स्ट्रिंग्स के बीच

Java Hard strings

कार्य «न्यूनतम दूरी दोहराई जाने वाली उप-स्ट्रिंग्स के बीच»

दी गई है एक स्ट्रिंग S, जो लैटिन वर्णमाला के छोटे अक्षरों से बनी है। लंबाई L के दो समान और गैर-अतिव्यापी उपस्ट्रिंग्स के प्रारंभिक सूचकांकों के बीच न्यूनतम दूरी ज्ञात करनी है, जहाँ L अधिकतम संभव लंबाई है जिसके लिए ऐसी उपस्ट्रिंग्स मौजूद हैं। यदि लंबाई L की समान गैर-अतिव्यापी उपस्ट्रिंग्स नहीं हैं, तो -1 आउटपुट करें। दूरी दूसरी और पहली उपस्ट्रिंग के प्रारंभिक सूचकांकों के बीच का अंतर है। उपस्ट्रिंग्स एक-दूसरे को ओवरलैप नहीं करनी चाहिए (अर्थात उनके अंतराल में कोई सामान्य वर्ण नहीं होना चाहिए)। सीमाएँ: स्ट्रिंग की लंबाई 10^5 तक।

इनपुट प्रारूप

एक पंक्ति S, जो लैटिन वर्णमाला (a-z) के छोटे अक्षरों से बनी है। पंक्ति की लंबाई 1 से 100000 तक है।

आउटपुट प्रारूप

एक पूर्णांक — दो समान असम्बद्ध उप-स्ट्रिंग्स के प्रारंभिक सूचकांकों के बीच न्यूनतम दूरी, जो अधिकतम संभव लंबाई L की हैं, अन्यथा -1 यदि ऐसी कोई उप-स्ट्रिंग मौजूद नहीं है।

उदाहरण

उदाहरण 1

इनपुट
aababc
आउटपुट
2

उदाहरण 2

इनपुट
ababa
आउटपुट
2

उदाहरण 3

इनपुट
abcdefg
आउटपुट
-1
main.java