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