मान लीजिए हमारे पास एक 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 तक
- अस्थायी में मैट्रिक्स [पंक्ति, col] जोड़ें
- temp_mat में अस्थायी जोड़ें
- मैं के लिए 0 से लेकर मैट्रिक्स की लंबाई तक
- जे के लिए 0 से लेकर मैट्रिक्स की लंबाई तक
- मैट्रिक्स[i, j] :=temp_mat[i, 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]]