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

โปรแกรมหมุนเมทริกซ์สี่เหลี่ยมจัตุรัส 90 องศา ทวนเข็มนาฬิกา ด้วย Python

สมมติว่าเรามีเมทริกซ์สี่เหลี่ยมจัตุรัส เราต้องหมุนมัน 90 องศา ทวนเข็มนาฬิกา

ตัวอย่าง เมทริกซ์ต้นฉบับ:

147
258
369
หลังหมุน:
789
456
123

ขั้นตอนการแก้ปัญหา

  1. ถ้าเมทริกซ์ว่าง คืนค่าลิสต์ว่าง
  2. กำหนด n = จำนวนแถวของเมทริกซ์
  3. สำหรับแต่ละแถวในเมทริกซ์ ให้กลับลำดับแถว (reverse)
  4. วนลูป i จาก 0 ถึง n-1:
    • วนลูป j จาก 0 ถึง i-1:
      • สลับ matrix[i][j] และ matrix[j][i]
  5. คืนค่าเมทริกซ์

ตัวอย่างโค้ด Python

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

อินพุต / เอาต์พุต

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

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