কম্পিউটার

Python এ ফ্লিপ এবং ইনভার্ট ম্যাট্রিক্স


ধরুন আমাদের একটি বাইনারি ম্যাট্রিক্স ম্যাট আছে। আমাদের ম্যাট্রিক্সে প্রতিটি সারি নির্বাচন করতে হবে, তারপরে বিপরীত থ্রো। এর পরে, প্রতিটি বিট ফ্লিপ করুন (0 থেকে 1 এবং 1 থেকে 0)।

সুতরাং, যদি ইনপুট মত হয়

1 1 0
0 1 0
0 0 1

তাহলে আউটপুট হবে

1 0 0
1 0 1
0 1 1

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • ট্র্যাক:=0
  • মাদুরের প্রতিটি সারির জন্য, করুন
    • সারি বিপরীত করুন
    • ট্র্যাকার :=0
    • সারির প্রতিটি ভ্যালের জন্য, করুন
      • যদি val 1 হয়, তাহলে
        • mat[track, tracker] :=0
      • অন্যথায়,
        • mat[track, tracker] :=1
      • ট্র্যাকার :=ট্র্যাকার + 1
    • ট্র্যাক :=ট্র্যাক + 1
  • রিটার্ন ম্যাট

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

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. পাইথনে ম্যাট্রিক্স শুরু করুন

  2. Python এ পারমুটেশন এবং কম্বিনেশন?

  3. পাইথনে একটি ম্যাট্রিক্স স্থানান্তর?

  4. পাইথনে =+ এবং +=কি করে?