मर्ज़ सॉर्ट
इस चुनौती में, आप मर्ज सॉर्ट के मर्ज सबरूटिन को लागू करेंगे। विशेष रूप से, आपको एक फ़ंक्शन या प्रोग्राम या क्रिया या समान बनाना होगा जो दो सूचियों को लेता है, प्रत्येक बढ़ते क्रम में क्रमबद्ध करता है, और उन्हें बढ़ते क्रम में क्रमबद्ध एक सूची में जोड़ता है। आवश्यकताएँ:
- आपके एल्गोरिथ्म को इनपुट के आकार में एक समान रूप से रैखिक राशि लेनी चाहिए। कृपया O (n ^ 2) समाधान देना बंद करें।
- आप किसी अंतर्निहित कार्यों का उपयोग नहीं कर सकते हैं जो किसी सूची को छाँटने में सक्षम हैं, या किसी सूची को विलय करने में सक्षम हैं, या ऐसा कुछ भी। लेखक का विवेक
- कोड को दोहराया तत्वों को संभालने में सक्षम होना चाहिए।
- खाली सूची की चिंता न करें।
उदाहरण:
merge([1],[0,2,3,4])
[0,1,2,3,4]
merge([1,5,10,17,19],[2,5,9,11,13,20])
[1, 2, 5, 5, 9, 10, 11, 13, 17, 19, 20]
यह कोड-गोल्फ है , इसलिए सबसे छोटा कोड जीत सकता है!
b=a;b=b.lengthकि a(यदि प्रत्येक तत्व के लिए निष्पादित किया जाता है) पूरे सरणी (और परिणाम O (n ^ 2) समय में डुप्लिकेट हो सकता है) या सरणी (O (n) समय) के संदर्भ में केवल डुप्लिकेट। कौन सी गिनती?