Python中矩阵的列排序
假设我们有一个矩阵,我们必须按升序对每一列进行排序。
所以,如果输入像
那么输出将是
为了解决这个问题,我们将遵循以下步骤-
R:=矩阵的行数,C:=矩阵的列数
res:=与给定矩阵大小相同的矩阵,并用0填充
对于0到C范围内的col,请执行
res[row,col]:=从值中删除最后一个元素
values:=将元素作为矩阵的向量[col]
对于0到R范围内的行,请执行
返回资源
让我们看下面的实现以更好地理解-
示例
class Solution:
def solve(self, matrix):
R = len(matrix)
C = len(matrix[0])
res = [[0] * C for _ in range(R)]
for col in range(C):
values = [r[col] for r in matrix]
values.sort(reverse=True)
for row in range(R):
res[row][col] = values.pop()
return res
ob = Solution()matrix = [[11, 21, 31],[6, 6, 4],[1, 11, 8]]
print(ob.solve(matrix))输入值
[[11, 21, 31], [6, 6, 4], [1, 11, 8]]
输出结果
[[1, 6, 4],[6, 11, 8],[11, 21, 31]]