मान लीजिए हमारे पास एक 2D मैट्रिक्स है, जो एक इमेज को दर्शा रहा है। हमें इस इमेज को 90 डिग्री घड़ी की दिशा में घुमाना है। इसलिए यदि इमेज इस तरह है
| 1 | 5 | 7 |
| 9 | 6 | 3 |
| 2 | 1 | 3 |
तब आउटपुट होगा
| 2 | 9 | 1 |
| 1 | 6 | 5 |
| 3 | 3 | 7 |
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे −
- temp_mat = [], col := मैट्रिक्स की लंबाई - 1 पर विचार करें
- col के लिए 0 से मैट्रिक्स की लंबाई तक रेंज में
- temp := []
- row के लिए मैट्रिक्स की लंबाई - 1 से -1 तक नीचे की ओर रेंज में
- matrix[row, col] को temp में जोड़ें
- temp को temp_mat में जोड़ें
- i के लिए 0 से मैट्रिक्स की लंबाई तक रेंज में
- j के लिए 0 से मैट्रिक्स की लंबाई तक रेंज में
- matrix[i, j] := temp_mat[i, j]
- j के लिए 0 से मैट्रिक्स की लंबाई तक रेंज में
उदाहरण (पाइथन)
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें −
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]]