কম্পিউটার টিউটোরিয়াল

পাইথনে ম্যাট্রিক্স ফ্লিপ ও ইনভার্ট করুন


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

यदि इनपुट इस तरह है:

110
010
001

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

100
101
011

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

  • track := 0
  • mat में प्रत्येक पंक्ति के लिए, करें:
    • पंक्ति को उलटें
    • tracker := 0
    • पंक्ति में प्रत्येक मान val के लिए, करें:
      • यदि val 1 है, तो
        • mat[track, tracker] := 0
      • अन्यथा,
        • mat[track, tracker] := 1
      • tracker := tracker + 1
    • track := track + 1
  • mat लौटाएं

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

उदाहरण

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. পাইথনে ম্যাট্রিক্স ইনিশিয়ালাইজেশন (Initialize Matrix)

  2. পাইথনে পারমুটেশন ও কম্বিনেশন (Permutation and Combination in Python)

  3. পাইথনে ম্যাট্রিক্স ট্রান্সপোজ (Transpose) করা

  4. পাইথনে =+ এবং += অপারেটরের পার্থক্য