Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में दो क्रमबद्ध सूचियों को मर्ज करके एक बड़ी क्रमबद्ध सूची बनाने का प्रोग्राम


मान लीजिए हमारे पास दो क्रमबद्ध सूचियां A और B हैं। हमें उन्हें मर्ज करना है और केवल एक क्रमबद्ध सूची C बनानी है। सूचियों का आकार भिन्न हो सकता है।

उदाहरण के लिए, मान लीजिए A = [1,2,4,7] और B = [1,3,4,5,6,8], तो मर्ज की गई सूची C होगी [1,1,2,3,4,4,5,6,7,8]

हम इसे रिकर्सन का उपयोग करके हल करेंगे। फंक्शन निम्नानुसार काम करेगा:

  • x := एक नई सूची
  • i := 0, j := 0
  • जब तक i < lst0 का आकार और j < lst1 का आकार, करें:
    • यदि lst0[i] > lst1[j], तो x के अंत में lst1[j] डालें, j := j+1
    • अन्यथा यदि lst0[i] < lst1[j], तो x के अंत में lst0[i] डालें, i := i+1
    • अन्यथा, x के अंत में lst0[i] और lst1[j] डालें, i := i+1, j := j+1
  • जब तक i < len(lst0), करें: x के अंत में lst0[i] डालें, i := i+1
  • जब तक j < len(lst1), करें: x के अंत में lst1[j] डालें, j := j+1
  • x वापस करें

उदाहरण

class Solution:
    def solve(self, lst0, lst1):
        x = []
        i = 0
        j = 0
        while i < len(lst0) and j < len(lst1):
            if lst0[i] > lst1[j]:
                x.append(lst1[j])
                j += 1
            elif lst0[i] < lst1[j]:
                x.append(lst0[i])
                i += 1
            else:
                x.append(lst0[i])
                x.append(lst1[j])
                i += 1
                j += 1
        while i < len(lst0):
            x.append(lst0[i])
            i += 1
        while j < len(lst1):
            x.append(lst1[j])
            j += 1
        return x
ob = Solution()
print(ob.solve([1,2,4,7], [1,3,4,5,6,8]))

इनपुट

[1,2,4,7], [1,3,4,5,6,8]

आउटपुट

[1, 1, 2, 3, 4, 4, 5, 6, 7, 8]
  1. Python प्रोग्राम से क्रमबद्ध सूची में तत्व डालना Python प्रोग्राम से क्रमबद्ध सूची में तत्व डालना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सूची दी गई है, हमें क्रमबद्ध क्रम को बदले बिना सूची में एक तत्व डालने की आवश्यकता है। नीचे चर्चा किए गए दो दृष्टिकोण हैं। दृष्टिकोण 1: ब्रूट-फोर्स विधि उदाहरण n: index = i break

  1. - 3D सूची बनाने के लिए पायथन प्रोग्राम

    समस्या विवरण 3D सूची का अर्थ 3D सरणी होता है। इस प्रोग्राम में हम पूर्णांक तत्वों के साथ 3D सरणी बनाते हैं। उदाहरण इनपुट: 3×3×2 [[1,1,1],[2,2,2],[3,3,3]], [[4,4,4],[5,5,5],[6,6,6]] एल्गोरिदम 3D सूची का क्रम दिया गया है। फॉर लूप का उपयोग करके सूची बनाएं और डेटा प्रिंट करें। उदाहरण कोड # 3D सूची

  1. - दो डिक्शनरी को मर्ज करने का पायथन प्रोग्राम

    समस्या विवरण इस प्रोग्राम में दो डिक्शनरी दी गई हैं। हमारा कार्य इन दोनों को मर्ज करना है। यहां हम update() विधि का उपयोग करते हैं। अपडेट विधि का उपयोग दो सूचियों को मर्ज करने के लिए किया जा सकता है। यहां दूसरी सूची पहली सूची में मर्ज हो जाती है। यह None लौटाता है जिसका अर्थ है कि कोई नई सूची नहीं ब