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

पायथन में लोगों की फेरबदल कतार को पुनर्प्राप्त करने का कार्यक्रम

मान लीजिए कि हमारे पास एक 2D मैट्रिक्स है जहां प्रत्येक पंक्ति में दो मान [ऊंचाई, गिनती] हैं, ये इंगित करता है कि व्यक्ति ने ऊंचाई दी है और उनके सामने लोगों की संख्या 'गिनती' है जो कम से कम उनके जितना लंबा है। अब मान लें कि इस कतार में फेरबदल किया गया है, हमें कतार के मूल क्रम को पुनर्प्राप्त करना होगा।

तो, अगर इनपुट पसंद है

2
2
4
0
5
0

तो आउटपुट होगा

4
0
5
0
2
2

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

  • N :=मैट्रिक्स की पंक्ति गणना
  • बढ़ती ऊंचाई और घटती गिनती के आधार पर मैट्रिक्स पंक्तियों को पुनर्व्यवस्थित करें
  • उत्तर :=आकार N की एक सूची बनाएं और प्रारंभ में सभी प्रविष्टियां शून्य हैं
  • प्रत्येक ऊंचाई h के लिए, और मैट्रिक्स पंक्ति में c की गणना करें
    • अस्थायी:=0
    • प्रत्येक अनुक्रमणिका i के लिए, और मान संख्या उत्तर, करें
      • यदि अस्थायी>=c और संख्या शून्य है, तो
        • Ans[i] :=[h, c]
        • लूप से बाहर आएं
      • यदि संख्या शून्य या संख्या है[0]>=h, तो
        • अस्थायी:=अस्थायी + 1
  • वापसी उत्तर

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

उदाहरण

class Solution:
   def solve(self, matrix):
      N = len(matrix)
      matrix.sort(key=lambda x: [x[0], -x[1]])
      ans = [None] * N

      for h, c in matrix:
         temp = 0
         for i, num in enumerate(ans):
            if temp >= c and num is None:
               ans[i] = [h, c]
               break

            if num is None or num[0] >= h:
               temp += 1
      return ans

ob = Solution()
matrix = [
   [2, 2],
   [4, 0],
   [5, 0]
]
print(ob.solve(matrix))

इनपुट

[[2, 2],[4, 0],[5, 0]]

आउटपुट

[[4, 0], [5, 0], [2, 2]]

  1. पायथन में वर्टेक्स-टू-वर्टेक्स रीचैब्लिटी मैट्रिक्स की गणना करने का कार्यक्रम

    मान लीजिए कि हमारे पास एक आसन्न सूची प्रतिनिधित्व के रूप में एक ग्राफ है, हमें 2D मैट्रिक्स M ढूंढना होगा जहां M[i, j] =1 जब शीर्ष i और j के बीच पथ हो। एम [आई, जे] =0 अन्यथा। तो, अगर इनपुट पसंद है तो आउटपुट होगा 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 इसे हल करने के लिए

  1. एक मैट्रिक्स के स्थानान्तरण को खोजने के लिए पायथन कार्यक्रम

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

  1. दो मैट्रिक्स का पायथन प्रोग्राम गुणन।

    दो उपयोगकर्ता इनपुट मैट्रिक्स को देखते हुए। हमारा काम दो मैट्रिक्स के जोड़ को प्रदर्शित करना है। इन समस्याओं में हम नेस्टेड सूची का व्यापक उपयोग करते हैं। एल्गोरिदम Step1: input two matrix. Step 2: nested for loops to iterate through each row and each column. Step 3: take one resultant matrix which