मान लीजिए हमारे पास एक 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]]