ধরুন আমাদের একটি 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]
- 0 থেকে ম্যাট্রিক্সের দৈর্ঘ্যের মধ্যে 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]]