स्थानीय काल
एक गैर खाली स्ट्रिंग ले लो रों । स्थानीय अवधि के रों सूचकांक में मैं पूर्णांक सकारात्मक सबसे छोटी है n ऐसा है कि प्रत्येक के लिए 0 ≤ कश्मीर <n , हम रों [i + K] = रों [i-एन + K] जब भी दोनों पक्षों परिभाषित कर रहे हैं। वैकल्पिक रूप से, यह एक नॉनमॉपी स्ट्रिंग डब्ल्यू की न्यूनतम लंबाई है, जैसे कि अगर कॉन्टेक्शन डब्ल्यूडब्ल्यू को एस के बगल में रखा जाता है, ताकि डब्ल्यू की दूसरी प्रति इंडेक्स आई के एस पर शुरू हो , तो दो स्ट्रिंग्स सहमत होते हैं जहां भी वे ओवरलैप करते हैं।
एक उदाहरण के रूप में, आइए (0-आधारित) सूचकांक 2 पर s = "abaabbab" की स्थानीय अवधि की गणना करें ।
- N = 1 का प्रयास करें : फिर s [2 + 0] 2- s [2-1 + 0] , इसलिए यह विकल्प सही नहीं है।
- N = 2 का प्रयास करें : फिर s [2 + 0] = s [2-2 + 0] लेकिन s [2 + 1] -2 s [2-2 + 1] , इसलिए यह भी सही नहीं है।
- N = 3 का प्रयास करें : फिर s [2 + 0-3] परिभाषित नहीं है, s [2 + 1] = s [2-3 + 1] और s [2 + 2] = s [2-3 + 2] । इस प्रकार स्थानीय अवधि 3 है।
यहाँ दूसरी परिभाषा का उपयोग करते हुए स्थानीय अवधियों का एक दृश्य है, जिसमें स्पष्टता के लिए w की दो प्रतियों के बीच अर्धविराम जोड़े गए हैं :
index a b a a b b a b period
0 a;a 1
1 b a;b a 2
2 a a b;a a b 3
3 a;a 1
4 b b a b a a;b b a b a a 6
5 b;b 1
6 a b b;a b b 3
7 b a;b a 2
ध्यान दें कि डब्ल्यू आवश्यक रूप से एस का विकल्प नहीं है । इंडेक्स -4 मामले में यहां ऐसा होता है।
काम
आपके इनपुट में अरिक्त स्ट्रिंग है रों लोअरकेस ASCII वर्ण की। यदि वांछित हो तो इसे पात्रों की सूची के रूप में लिया जा सकता है। आपका आउटपुट के स्थानीय अवधि युक्त सूची होगी रों अपनी सूचकांकों में से प्रत्येक में। उपरोक्त उदाहरण में, सही आउटपुट [1,2,3,1,6,1,3,2] होगा ।
प्रत्येक भाषा में सबसे कम बाइट गिनती जीतती है। मानक कोड-गोल्फ नियम लागू होते हैं।
परीक्षण के मामलों
a -> [1]
hi -> [1, 2]
www -> [1, 1, 1]
xcxccxc -> [1, 2, 2, 5, 1, 3, 2]
abcbacb -> [1, 4, 7, 7, 7, 3, 3]
nininini -> [1, 2, 2, 2, 2, 2, 2, 2]
abaabbab -> [1, 2, 3, 1, 6, 1, 3, 2]
woppwoppw -> [1, 4, 4, 1, 4, 4, 4, 1, 4]
qwertyuiop -> [1, 10, 10, 10, 10, 10, 10, 10, 10, 10]
deededeededede -> [1, 3, 1, 5, 2, 2, 5, 1, 12, 2, 2, 2, 2, 2]
abababcabababcababcabababcaba -> [1, 2, 2, 2, 2, 7, 7, 7, 7, 2, 2, 2, 19, 19, 5, 5, 2, 5, 5, 12, 12, 2, 2, 2, 7, 7, 5, 5, 2]
;
आपके उदाहरण में है)। इससे अग्रणी 1. छुटकारा मिलेगा
qwertyuiop
, w एक घुमाया हुआ संस्करण होगाqwertyuiop
। सूचकांक 4 पर उदाहरण भी देखें: डब्ल्यू जरूरी नहीं कि एस का विकल्प हो ।