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

पायथन में सापेक्ष क्रमबद्ध सरणी

मान लीजिए कि हमारे पास दो सरणियाँ हैं arr1 और arr2, arr2 के तत्व अद्वितीय हैं, और arr2 में सभी तत्व arr1 में भी मौजूद हैं। हमें arr1 के तत्वों को इस तरह से सॉर्ट करना होगा कि arr1 में आइटम्स का सापेक्ष क्रम arr2 जैसा ही हो। यदि कुछ ऐसे तत्व हैं जो arr2 में मौजूद नहीं हैं, तो उन्हें arr1 के अंत में आरोही क्रम में रखा जाना चाहिए। तो अगर arr1 [2,3,1,3,2,4,6,7,9,2,19] जैसा है, और arr2 [2,1,4,3,9,6] जैसा है, तो परिणाम होगा [2,2,2,1,4,3,3,9,6,7,19]

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • D नाम का एक नक्शा बनाएं, और arr1 में मौजूद तत्वों की आवृत्ति संग्रहित करें
  • दो सरणियों res और temp परिभाषित करें
  • गिरफ्तारी2 में प्रत्येक तत्व i के लिए -
    • जे के लिए 0 से डी की सीमा में[i] - 1
      • मुझे रेस में जोड़ें
    • डी[i] :=0
  • डी में (कुंजी, मान) जोड़ी के लिए
    • यदि मान 0 नहीं है, तो
      • i के लिए:=0 से मान – 1
        • अस्थायी में कुंजी जोड़ें
  • अस्थायी सरणी को क्रमबद्ध करें, रेस के अंत में अस्थायी जोड़ें, और res वापस करें

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

class Solution(object):
   def relativeSortArray(self, arr1, arr2):
      d = {}
      for i in arr1:
         if i not in d:
            d[i]= 1
         else:
            d[i]+=1
      res = []
      temp = []
      for i in arr2:
         for j in range(d[i]):
            res.append(i)
         d[i] =0
      for k,v in d.items():
         if v:
            for i in range(v):
               temp.append(k)
      temp.sort()
      res.extend(temp)
      return res
ob1 = Solution()
print(ob1.relativeSortArray([2,3,1,4,2,4,6,7,9,2,19] ,[2,1,4,3,9,6]))

इनपुट

[2,3,1,3,2,4,6,7,9,2,19]
[2,1,4,3,9,6]

आउटपुट

[2, 2, 2, 1, 4, 4, 3, 9, 6, 7, 19]



  1. काउंटिंग सॉर्ट के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक ऐरे दिया गया है, हमें काउंटिंग सॉर्ट की अवधारणा का उपयोग करके ऐरे को सॉर्ट करने की आवश्यकता है। काउंटिंग सॉर्ट एक ऐसी तकनीक है जिसमें हम एक विशिष्ट रेंज के बीच की चाबियों पर काम करते हैं। इसमें उन वस्तुओं की

  1. पायथन प्रोग्राम में इंसर्शन सॉर्ट

    इस लेख में, हम पायथन 3.x में इंसर्शन सॉर्ट के कार्यान्वयन के बारे में जानेंगे। या पहले। एल्गोरिदम प्रत्येक पुनरावृत्ति पर क्रमबद्ध सरणी को बढ़ाकर इनपुट तत्वों पर पुनरावृति करें। सॉर्ट किए गए सरणी में उपलब्ध सबसे बड़े मान के साथ वर्तमान तत्व की तुलना करें। यदि वर्तमान तत्व अधिक है, तो यह तत्

  1. इंसर्शन सॉर्ट के लिए पायथन प्रोग्राम

    इस लेख में, हम पायथन 3.x में इंसर्शन सॉर्ट के कार्यान्वयन के बारे में जानेंगे। या पहले। एल्गोरिदम 1. Iterate over the input elements by growing the sorted array at each iteration. 2. Compare the current element with the largest value available in the sorted array. 3. If the current element is greate