हर कोई नेस्टेड सूची प्यार करता है! हालांकि, कभी-कभी नेस्टेड सूची बनाना कठिन होता है। आपको यह तय करना होगा कि क्या आप इसे अधिक से अधिक घोंसला बनाना चाहते हैं, या यदि आपको इसे उखाड़ने की आवश्यकता है। तो आपकी चुनौती के लिए, आपको एक सूची "ऑटोनॉस्ट" चाहिए। किसी सूची को स्वचालित करने के लिए, सूची में मौजूद प्रत्येक जोड़ी की तुलना करें।
यदि दूसरा आइटम छोटा है, तो दोनों तत्वों को बंद करके और उनके बीच ब्रैकेट्स डालकर अलग करें, जैसे:
} { {2 , 1}
उदाहरण के लिए,
{2, 1}
बन जाता है{2}, {1}
, और{3, 2, 1}
बन जाता है{3}, {2}, {1}
यदि दूसरा आइटम समान है, तो कुछ भी नहीं बदलें। उदाहरण के लिए,
{1, 1, 1}
वही रहता है, और{2, 1, 1, 1}
बन जाएगा{2}, {1, 1, 1}
।यदि दूसरा आइटम बड़ा है, तो प्रत्येक निम्न आइटम को एक स्तर गहरा घोंसला दें। उदाहरण के लिए,
{1, 2}
बन जाएगा{1, {2}}
और{1, 2, 3}
बन जाएगा{1, {2, {3}}}
चुनौती
आपको एक प्रोग्राम या फ़ंक्शन लिखना होगा जो संख्याओं की सूची में लेता है, और ऑटोनॉइड होने के बाद उसी सूची को वापस करता है। इस इनपुट को अपनी भाषाओं के मूल सूची प्रारूप (या निकटतम विकल्प) या एक स्ट्रिंग के रूप में लें। आपको घुंघराले ब्रेसिज़ का उपयोग करने की ज़रूरत नहीं है जैसे मैंने अपने उदाहरणों में किया था। जब तक यह सुसंगत है, आप अपनी भाषा में जो भी प्रकार के कोष्ठक हैं, का उपयोग कर सकते हैं। आप सुरक्षित रूप से मान सकते हैं कि सूची में केवल पूर्णांक होंगे। आप यह भी मान सकते हैं कि सूची में कम से कम 2 नंबर होंगे। यहाँ कुछ नमूना IO है:
{1, 3, 2} --> {1, {3}, {2}}
{1, 2, 3, 4, 5, 6} --> {1, {2, {3, {4, {5, {6}}}}}}
{6, 5, 4, 3, 2, 1} --> {6}, {5}, {4}, {3}, {2}, {1}
{7, 3, 3, 2, 6, 4} --> {7}, {3, 3}, {2, {6}, {4}}
{7, 3, 1, -8, 4, 8, 2, -9, 2, 8} --> {7}, {3}, {1}, {-8, {4, {8}, {2}, {-9, {2, {8}}}}}
स्टैंडर्ड कमियां लागू होती हैं, और बाइट्स जीत में सबसे छोटा जवाब होता है!
[-100, 100]
लेकिन मैं विशाल इनपुट देने की योजना नहीं बना रहा हूं।
{2, 1}
हो जाता है {2}, {1}
" कैसे है कि एक स्तर उच्चतर ? एक स्तर अधिक होगा {2}, 1
। आपके पास जो है वही स्तर है।