কম্পিউটার

পাইথনে ম্যাট্রিক্স ঘোরান


ধরুন আমাদের একটি n x n 2D ম্যাট্রিক্স আছে। আমাদের এই ম্যাট্রিক্সটিকে ঘড়ির কাঁটার দিকে 90 ডিগ্রি ঘোরাতে হবে। তাই ম্যাট্রিক্স যদি হয়-

1 5 7
9 6 3
2 1 3

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

2 9 1
1 6 5
3 3 7

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

  • temp_mat =[], col :=ম্যাট্রিক্সের দৈর্ঘ্য - 1 বিবেচনা করুন
  • ম্যাট্রিক্সের দৈর্ঘ্য 0 থেকে রেঞ্জের কলের জন্য
    • তাপ :=[]
    • ম্যাট্রিক্সের রেঞ্জ দৈর্ঘ্যের সারির জন্য - 1 থেকে -1
      • টেম্পে ম্যাট্রিক্স[সারি, কল] যোগ করুন
    • temp_mat এ temp যোগ করুন
  • আমি 0 থেকে ম্যাট্রিক্সের দৈর্ঘ্যের মধ্যে
    • 0 থেকে ম্যাট্রিক্সের দৈর্ঘ্যের মধ্যে j এর জন্য
      • ম্যাট্রিক্স[i, j] :=temp_mat[i, j]

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

উদাহরণ কোড (পাইথন)

class Solution(object):
   def rotate(self, matrix):
      temp_matrix = []
      column = len(matrix)-1
      for column in range(len(matrix)):
         temp = []
         for row in range(len(matrix)-1,-1,-1):
            temp.append(matrix[row][column])
         temp_matrix.append(temp)
      for i in range(len(matrix)):
         for j in range(len(matrix)):
            matrix[i][j] = temp_matrix[i][j]
      return matrix

ob1 = Solution()
print(ob1.rotate([[1,5,7],[9,6,3],[2,1,3]]))

ইনপুট

[[1,5,7],[9,6,3],[2,1,3]]

আউটপুট

[[2, 9, 1], [1, 6, 5], [3, 3, 7]]

  1. পাইথনে স্ট্রিং ঘোরান

  2. পাইথনে ম্যাট্রিক্স শুরু করুন

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

  4. একটি স্ট্রিং ঘোরানোর জন্য পাইথনে স্ট্রিং স্লাইসিং