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