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

पायथन में मैट्रिक्स को फ्लिप और इनवर्ट करना

समस्या विवरण

एक बाइनरी मैट्रिक्स mat दिया गया है। हमें मैट्रिक्स की प्रत्येक पंक्ति को चुनना है, फिर उसे रिवर्स करना है। उसके बाद प्रत्येक बिट को फ्लिप करना है (0 को 1 और 1 को 0 में बदलना)।

उदाहरण

इनपुट मैट्रिक्स:

110
010
001

आउटपुट मैट्रिक्स:

100
101
011

एल्गोरिदम

  1. प्रत्येक पंक्ति के लिए:
    • पंक्ति को रिवर्स करें
    • पंक्ति के प्रत्येक मान के लिए:
      • यदि मान 1 है, तो उसे 0 में बदलें
      • अन्यथा (यदि 0 है), तो उसे 1 में बदलें
  2. संशोधित मैट्रिक्स वापस करें

पायथन कार्यान्वयन

class Solution:
    def solve(self, mat):
        track = 0
        for row in mat:
            row.reverse()
            tracker = 0
            for val in row:
                if val == 1:
                    mat[track][tracker] = 0
                else:
                    mat[track][tracker] = 1
                tracker += 1
            track += 1
        return mat

ob = Solution()
mat = [[1,1,0],[0,1,0],[0,0,1]]
print(ob.solve(mat))

इनपुट

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

आउटपुट

[[1, 0, 0], [1, 0, 1], [0, 1, 1]]
  1. - पायथन में पर्म्यूटेशन और कॉम्बिनेशन

    पायथन का itertools मॉड्यूल पर्म्यूटेशन और कॉम्बिनेशन जेनरेट करने के लिए कुशल फंक्शन्स प्रदान करता है। इंस्टॉलेशन/इम्पोर्ट from itertools import permutations, combinations, combinations_with_replacement पर्म्यूटेशन (क्रम महत्वपूर्ण) क्रम में व्यवस्था: nPr = n! / (n-r)! उदाहरण 1: पूर्ण पर्म्यूटेशन

  1. - पायथन में मैट्रिक्स ट्रांसपोज़

    मैट्रिक्स ट्रांसपोज़ का अर्थ है पंक्तियों को कॉलम और कॉलम को पंक्तियों में बदलना। उदाहरण # मूल मैट्रिक्स (3x2) x = [[1, 2], [3, 4], [5, 6]] # ट्रांसपोज़ (2x3) x1 = [[1, 3, 5], [2, 4, 6]] विधि 1: नेस्टेड लूप (क्लासिक) x = [[1, 2], [3, 4], [5, 6]] rows = len(x) cols = len(x[0]) res

  1. - पायथन में =+ और += क्या करते हैं?

    += ऑपरेटर object.__iadd__() फ़ंक्शन के लिए सिंटैक्टिक शुगर है। पायथन डॉक्स से: ये मेथड ऑगमेंटेड अंकगणितीय असाइनमेंट (+=, -=, *=, @=, /=, //=, %=, **=, <<=, >>=, &=, ^=, |=) को इम्प्लीमेंट करने के लिए कॉल किए जाते हैं। ये मेथड इन-प्लेस ऑपरेशन (self को मॉडिफाई करना) करने का प्रयास करना चा