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