Cho ma trận vuông n x n M, tìm ma trận chuyển vị. Chuyển vị hoán đổi hàng và cột: matrix[r][c] = matrix[c][r].
Ví dụ, ma trận:
| 7 | 2 | 6 |
| 3 | 7 | 2 |
| 5 | 3 | 7 |
| 7 | 3 | 5 |
| 2 | 7 | 3 |
| 6 | 2 | 7 |
Các bước giải quyết:
M:= danh sách rỗng.tracker := 0.- Trong khi
tracker < len(matrix):temp:= danh sách rỗng.- Duyệt từng hàng
rowtrongmatrix: thêmrow[tracker]vàotemp. - Thêm
tempvàoM. tracker += 1.
- Trả về
M.
Ví dụ minh họa
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))
Đầu vào
[[7, 2, 6], [3, 7, 2], [5, 3, 7]]
Đầu ra
[[7, 3, 5], [2, 7, 3], [6, 2, 7]]