Computer >> 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

Giả sử chúng ta có một ma trận vuông, chúng ta phải xoay nó 90 độ ngược chiều kim đồng hồ.

1 4 7
2 5 8
3 6 9

thì đầu ra sẽ là

7 8 9
4 5 6
1 2 3

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • nếu ma trận trống, thì

    • trả lại một danh sách trống

  • n:=số hàng của ma trận

  • đối với mỗi hàng trong ma trận, thực hiện

    • đảo ngược hàng

  • đối với tôi trong phạm vi từ 0 đến n-1, hãy thực hiện

    • đối với j trong phạm vi từ 0 đến i-1, thực hiện

      • hoán đổi ma trận [i, j] và ma trận [j, i]

  • ma trận trả về

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

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))

Đầu vào

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

Đầu ra

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