สมมติว่าเรามีเมทริกซ์สี่เหลี่ยมจัตุรัส เราต้องหมุนมัน 90 องศาทวนเข็มนาฬิกา
1 | 4 | 7 |
2 | 5 | 8 |
3 | 6 | 9 |
แล้วผลลัพธ์ที่ได้จะเป็น
7 | 8 | 9 |
4 | 5 | 6 |
1 | 2 | 3 |
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
หากเมทริกซ์ว่างเปล่า
-
กลับรายการว่าง
-
-
n :=จำนวนแถวของเมทริกซ์
-
สำหรับแต่ละแถวในเมทริกซ์ ทำ
-
กลับแถว
-
-
สำหรับฉันอยู่ในช่วง 0 ถึง n-1 ทำ
-
สำหรับ j ในช่วง 0 ถึง i-1 ให้ทำ
-
สลับเมทริกซ์[i, j] และเมทริกซ์[j, i]
-
-
-
ส่งคืนเมทริกซ์
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
class Solution: def solve(self, matrix): if not matrix or not matrix[0]: return [] n = len(matrix) for row in matrix: row.reverse() for i in range(n): for j in range(i): matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j] return matrix ob = Solution() matrix = [ [1, 4, 7], [2, 5, 8], [3, 6, 9] ] print(ob.solve(matrix))
อินพุต
[ [1, 4, 7], [2, 5, 8], [3, 6, 9] ]
ผลลัพธ์
[ [7, 8, 9], [4, 5, 6], [1, 2, 3]]