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