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

पायथन का उपयोग करके बाइनरी मैट्रिक्स में विशेष पदों की संख्या खोजने का कार्यक्रम

मान लीजिए कि हमारे पास क्रम m x n का एक बाइनरी मैट्रिक्स है, हमें मैट्रिक्स में विशेष पदों की संख्या ज्ञात करनी है। एक स्थिति (i,j) एक विशेष स्थिति होती है जब mat[i,j] =1 और पंक्ति i और कॉलम j में अन्य सभी तत्व 0 होते हैं।

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

1 0 0 0 0
0 0 1 0 0
0 0 0 1 1
0 1 0 0 0

तब आउटपुट 3 होगा, यहाँ विशेष स्थितियाँ हैं (0, 0), (1,2) और (3,1)।

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

  • विशेष:=0

  • मैं के लिए 0 से लेकर मैट्रिक्स की पंक्ति गणना तक, करें

    • यदि पंक्ति मैट्रिक्स में 1s की संख्या [i] 1 है, तो

      • numOfOne :=0

      • indexOfOne :=मैट्रिक्स में 1 की स्थिति[i]

      • j के लिए 0 से लेकर मैट्रिक्स के कॉलम आकार तक, करें

        • यदि मैट्रिक्स [j, indexOfOne] 1 के समान है, तो

          • numOfOne :=numOfOne + 1

        • अगर numOfOne> 1, तो

          • लूप से बाहर आएं

      • अगर numOfOne 1 के समान है, तो

        • विशेष:=विशेष + 1

  • विशेष वापसी

उदाहरण (पायथन)

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

def solve(matrix):
   special = 0
   for i in range(len(matrix)):
      if matrix[i].count(1) == 1:
         numOfOne = 0
         indexOfOne = matrix[i].index(1)
         for j in range(len(matrix)):
            if matrix[j][indexOfOne] == 1:
               numOfOne += 1
            if numOfOne > 1:
               break

         if numOfOne == 1:
            special += 1

   return special

matrix = [[1,0,0,0,0],
   [0,0,1,0,0],
   [0,0,0,1,1],
   [0,1,0,0,0]]
print(solve(matrix))

इनपुट

[[1,0,0,0,0],
[0,0,1,0,0],
[0,0,0,1,1],
[0,1,0,0,0]]

आउटपुट

3

  1. पायथन का उपयोग करके बाइनरी ग्रिड की व्यवस्था करने के लिए न्यूनतम स्वैप खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक n x n बाइनरी मैट्रिक्स है। हम इस पर एक ऑपरेशन कर सकते हैं जैसे, एक चरण में हम दो आसन्न पंक्तियों का चयन करते हैं और उन्हें स्वैप करते हैं। हमें आवश्यक न्यूनतम स्वैप की संख्या गिननी होगी, ताकि मैट्रिक्स के प्रमुख विकर्ण के ऊपर सभी नोड्स 0 हों। यदि ऐसा कोई समाधान नहीं है, तो

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

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

  1. बाइनरी मैट्रिक्स में डुप्लिकेट पंक्तियों को खोजने के लिए पायथन प्रोग्राम लिखें

    यह देखते हुए कि बाइनरी मैट्रिक्स में 0 और 1 है, हमारा काम डुप्लिकेट पंक्तियों को ढूंढना और उसे प्रिंट करना है। पायथन काउंटर () विधि प्रदान करता है जिसका उपयोग यहां किया जाता है। उदाहरण Input: 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 Output: (1, 1, 1, 1) (0, 0, 0, 0) एल्गोरिदम Step 1: Create a binary matrix,