Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình xoay ma trận vuông 90 độ ngược chiều kim đồng hồ bằng Python


Cho một ma trận vuông, yêu cầu xoay nó 90 độ ngược chiều kim đồng hồ.

Ví dụ ma trận đầu vào:

147
258
369

Kết quả sau xoay:

789
456
123

Quy trình giải quyết

  1. Nếu ma trận rỗng, trả về danh sách rỗng.
  2. Lấy kích thước n.
  3. Đảo ngược từng hàng.
  4. Chuyển vị ma trận (hoán đổi matrix[i][j] và matrix[j][i] cho j < i).
  5. Trả về ma trận đã biến đổi.

Ví dụ mã nguồn

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))
# Output: [[7, 8, 9], [4, 5, 6], [1, 2, 3]]

Đầu vào

[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

Đầu ra

[[7, 8, 9], [4, 5, 6], [1, 2, 3]]