สมมติว่าเรามีเมทริกซ์ 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 :=length of matrix – 1
- สำหรับ col ในช่วง 0 ถึงความยาวของเมทริกซ์
- อุณหภูมิ :=[]
- สำหรับแถวในช่วงความยาวของเมทริกซ์ – 1 ลงไปที่ -1
- เพิ่ม matrix[row, col] ใน temp
- เพิ่มอุณหภูมิลงใน temp_mat
- สำหรับ i ในช่วง 0 ถึงความยาวของเมทริกซ์
- สำหรับ j ในช่วง 0 ถึงความยาวของเมทริกซ์
- เมทริกซ์[i, j] :=temp_mat[i, j]
- สำหรับ j ในช่วง 0 ถึงความยาวของเมทริกซ์
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
โค้ดตัวอย่าง (Python)
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]]