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

โปรแกรมค้นหาทรานสโพสของเมทริกซ์ที่กำหนดใน Python


สมมติว่าเรามีเมทริกซ์ M (n คูณ n) เราต้องหาทรานสโพสของมัน ดังที่เราทราบทรานสโพสของเมทริกซ์สลับดัชนีแถวและคอลัมน์ เป็นทางการมากขึ้น สำหรับทุก ๆ r และ c, matrix[r][c] =matrix[c][r].

ดังนั้นหากอินพุตเป็นแบบ

7 2 6
3 7 2
5 3 7

แล้วผลลัพธ์ที่ได้จะเป็น

7 3 5
2 7 3
6 2 7

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

  • M :=รายการใหม่
  • ตัวติดตาม :=0
  • ในขณะที่ตัวติดตาม <นับแถวของเมทริกซ์ ทำ
    • temp :=รายการใหม่
    • สำหรับแต่ละแถวในเมทริกซ์ ให้ทำ
      • temp :=เข้าร่วม temp และรายการที่มีแถวองค์ประกอบ[ติดตาม]
    • M :=M เข้าร่วมรายการอื่นด้วยองค์ประกอบชั่วคราว
    • ตัวติดตาม :=ตัวติดตาม + 1
  • คืน M

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

ตัวอย่าง

class Solution:
   def solve(self, matrix):
      M = []
      tracker = 0
      while tracker < len(matrix):
         temp = []
         for row in matrix:
            temp += [row[tracker]]
         M += [temp]
         tracker += 1
      return M
ob = Solution()
matrix = [ [7, 2, 6], [3, 7, 2], [5, 3, 7] ]
print(ob.solve(matrix))

อินพุต

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

ผลลัพธ์

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