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

หมุนเมทริกซ์ใน Python


สมมติว่าเรามีเมทริกซ์ n x n 2D หนึ่งตัว เราต้องหมุนเมทริกซ์นี้ 90 องศาตามเข็มนาฬิกา ดังนั้นถ้าเมทริกซ์เหมือน-

1 5 7
9 6 3
2 1 3

จากนั้นผลลัพธ์จะเป็น

2 9 1
1 6 5
3 3 7

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • พิจารณา temp_mat =[], col :=length of matrix – 1
  • สำหรับ col ในช่วง 0 ถึงความยาวของเมทริกซ์
    • อุณหภูมิ :=[]
    • สำหรับแถวในช่วงความยาวของเมทริกซ์ – 1 ลงไปที่ -1
      • เพิ่ม matrix[row, col] ใน temp
    • เพิ่มอุณหภูมิลงใน temp_mat
  • สำหรับ i ในช่วง 0 ถึงความยาวของเมทริกซ์
    • สำหรับ j ในช่วง 0 ถึงความยาวของเมทริกซ์
      • เมทริกซ์[i, j] :=temp_mat[i, j]

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

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

class Solution(object):
   def rotate(self, matrix):
      temp_matrix = []
      column = len(matrix)-1
      for column in range(len(matrix)):
         temp = []
         for row in range(len(matrix)-1,-1,-1):
            temp.append(matrix[row][column])
         temp_matrix.append(temp)
      for i in range(len(matrix)):
         for j in range(len(matrix)):
            matrix[i][j] = temp_matrix[i][j]
      return matrix

ob1 = Solution()
print(ob1.rotate([[1,5,7],[9,6,3],[2,1,3]]))

อินพุต

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

ผลลัพธ์

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