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

अजगर में अनुक्रम को क्रमबद्ध करने के लिए आवश्यक स्वैप की संख्या खोजने के लिए कार्यक्रम

मान लीजिए कि हमारे पास अलग-अलग संख्याओं की एक सूची है; हमें सूची को बढ़ते क्रम में क्रमबद्ध करने के लिए आवश्यक न्यूनतम संख्या में स्वैप का पता लगाना होगा।

इसलिए, अगर इनपुट nums =[3, 1, 7, 5] जैसा है, तो आउटपुट 2 होगा, क्योंकि हम 3 और 1 को स्वैप कर सकते हैं, फिर 5 और 7।

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

  • sort_seq :=सूची संख्या क्रमित करें
  • तालिका :=एक नया नक्शा
  • प्रत्येक इंडेक्स के लिए i और मान n अंकों में, करते हैं
    • तालिका[n] :=मैं
  • स्वैप:=0
  • मैं के लिए 0 से लेकर अंकों के आकार तक, करें
    • n :=nums[i]
    • s_n :=sort_seq[i]
    • s_i :=तालिका[s_n]
    • यदि s_n, n के समान नहीं है, तो
      • स्वैप :=स्वैप + 1
      • अंक [s_i] :=n
      • अंक[i] :=s_n
      • तालिका[n] :=s_i
      • टेबल[s_n] :=i
  • वापसी स्वैप

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

उदाहरण कोड

class Solution:
def solve(self, nums):
   sort_seq = sorted(nums)
   table = {}

   for i, n in enumerate(nums):
      table[n] = i
   swaps = 0
   for i in range(len(nums)):
      n = nums[i]
      s_n = sort_seq[i]
      s_i = table[s_n]

      if s_n != n:
         swaps += 1
         nums[s_i] = n
         nums[i] = s_n
         table[n] = s_i
         table[s_n] = i

      return swaps

ob = Solution()
nums = [3, 1, 7, 5]
print(ob.solve(nums))
लौटाता हूं

इनपुट

[3, 1, 7, 5]

आउटपुट

2

  1. पायथन में एक पंक्ति में संभावित स्थिति की संख्या ज्ञात करने का कार्यक्रम

    मान लीजिए कि हमारे पास एक संख्या n, और p और q है। अब मान लीजिए कि हम n लोगों की एक पंक्ति में खड़े हैं। हम नहीं जानते कि हम किस स्थिति में हैं, लेकिन हम जानते हैं कि हमारे सामने कम से कम p लोग हैं और हमारे पीछे अधिक से अधिक q लोग हैं। हमें उन संभावित पदों की संख्या का पता लगाना होगा जिनमें हम हो सकत

  1. सूची में सबसे छोटी संख्या खोजने के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें सभी सूची दी गई है, हमें सूची में उपलब्ध सबसे छोटी संख्या प्रदर्शित करने की आवश्यकता है यहां हम या तो सूची को क्रमबद्ध कर सकते हैं और सबसे छोटा तत्व प्राप्त कर सकते हैं या सबसे छोटा तत्व प्राप्त करने के लिए अंतर्न

  1. एक सूची में सबसे बड़ी संख्या खोजने के लिए पायथन कार्यक्रम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सूची दी गई है, हमें सूची के सबसे बड़े तत्व की गणना करने की आवश्यकता है। यहाँ हम समस्या कथन के समाधान तक पहुँचने के लिए बिल्ट-इन फ़ंक्शंस की मदद लेंगे सॉर्ट() फ़ंक्शन का उपयोग करना उदाहरण # list list1 = [23,1