Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมหมุนตารางเมทริกซ์ 90 องศาทวนเข็มนาฬิกาใน Python


สมมติว่าเรามีเมทริกซ์สี่เหลี่ยมจัตุรัส เราต้องหมุนมัน 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]]