परिचय
आइए इस सरणी को देखें [3, 2, 4, 1, 1, 5, 1, 2]
:।
प्रत्येक तत्व सबस्ट्रिंग की लंबाई प्रदर्शित करता है जिसे संक्षेप में प्रस्तुत किया जाना चाहिए। आइए उपरोक्त सरणी के पहले तत्व पर एक नज़र डालें:
[3, 2, 4, 1, 1, 5, 1, 2]
^
पहले इंडेक्स में तत्व 3 है , इसलिए अब हम एक ही इंडेक्स के साथ लंबाई तीन का एक विकल्प लेते हैं जैसे कि शुरुआती स्थिति:
[3, 2, 4]
जब सारांशित किया जाता है, तो यह 9 में परिणत होता है , इसलिए प्रतिस्थापन सार सेट का पहला तत्व है 9
।
हम सरणी में सभी तत्वों के लिए ऐसा करते हैं:
3 -> [3, 2, 4]
2 -> [2, 4]
4 -> [4, 1, 1, 5]
1 -> [1]
1 -> [1]
5 -> [5, 1, 2]
1 -> [1]
2 -> [2]
आप देख सकते हैं कि संख्या 5 एक अजीब मामला है। यह संख्या सरणी की लंबाई से अधिक है:
[3, 2, 4, 1, 1, 5, 1, 2]
^ ^ ^ ^ ^
हम हर उस चीज़ को अनदेखा कर देंगे जो सरणी से अधिक है, इसलिए हम बस उपयोग करते हैं [5, 1, 2]
।
अंतिम चरण में सब कुछ योग करना है:
[3, 2, 4] -> 9
[2, 4] -> 6
[4, 1, 1, 5] -> 11
[1] -> 1
[1] -> 1
[5, 1, 2] -> 8
[1] -> 1
[2] -> 2
और यह वह सरणी है जिसे आउटपुट करने की आवश्यकता है:
[9, 6, 11, 1, 1, 8, 1, 2]
काम
धनात्मक (गैर-शून्य) पूर्णांकों के साथ एक गैर-खाली सरणी को देखते हुए, सबस्ट्रिंग योग सेट को आउटपुट करता है । यह कोड-गोल्फ है , इसलिए सबसे कम संख्या में बाइट्स जीतता है!
परीक्षण के मामलों
[1, 2, 3, 4, 5] -> [1, 5, 12, 9, 5]
[3, 3, 3, 3, 3, 3, 3, 3] -> [9, 9, 9, 9, 9, 9, 6, 3]
[5, 1, 2, 4, 1] -> [13, 1, 6, 5, 1]
[1] -> [1]