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

पायथन में एक सूची को दूसरी सूची में बदलने के लिए आवश्यक स्वैप की संख्या की गणना करने का कार्यक्रम?

मान लीजिए कि हमारे पास L1 और L2 संख्याओं की दो सूचियाँ हैं, प्रत्येक सूची की लंबाई n है और प्रत्येक मान इसकी सूची के लिए अद्वितीय है, और मान 1 से n की सीमा में हैं, हमें L1 को बदलने के लिए आवश्यक आसन्न स्वैप की न्यूनतम संख्या ज्ञात करनी होगी। L2 के लिए।

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

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

  • उत्तर :=0

  • L2 में प्रत्येक अनुरोध के लिए, करें

    • i :=L1 में req की अनुक्रमणिका

    • L1 से ith तत्व हटाएं

    • उत्तर:=उत्तर + मैं

  • वापसी उत्तर

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

उदाहरण

class Solution:
   def solve(self, L1, L2):
      ans = 0
      for req in L2:
         i = L1.index(req)
         L1.pop(i)
         ans += i
      return ans

ob = Solution()
L1 = [0, 1, 2, 3]
L2 = [2, 0, 1, 3]
print(ob.solve(L1, L2))

इनपुट

[0, 1, 2, 3],[2, 0, 1, 3]

आउटपुट

2

  1. पायथन में संभावित विनम्र मैट्रिक्स की संख्या गिनने का कार्यक्रम

    मान लीजिए हमारे पास दो मान n और m हैं। हमें क्रम n x m के विनम्र आव्यूहों की संभावित व्यवस्थाओं की संख्या ज्ञात करनी है। मैट्रिक्स को विनम्र कहा जाता है जब इसमें प्रत्येक तत्व 1 से n x ​​m की श्रेणी में बिल्कुल एक बार होता है किन्हीं दो सूचकांक जोड़े (i1, j1) और (i2, j2) के लिए, यदि (i1 + j1) <(i2

  1. पायथन में एस में अलग-अलग सबस्ट्रिंग की संख्या गिनने का कार्यक्रम

    मान लीजिए कि हमारे पास एक स्ट्रिंग s है, हमें s के अलग-अलग गैर-रिक्त सबस्ट्रिंग की संख्या ज्ञात करनी है। इसलिए, यदि इनपुट s =abaa जैसा है, तो आउटपुट 8 होगा, क्योंकि सबस्ट्रिंग [a, b, ab, ba, aa, aba, बा, आबा]। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - कोशिश करें:=एक नया नक्शा n :=आकार का

  1. पायथन में n नोड्स के साथ BST की संख्या गिनने का कार्यक्रम

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