当在Python中给出行和列中的最大元素时,找到原始矩阵
假设我们有两个分别为N和M的数组A和B,还有一个NXM二进制矩阵,其中1表示原始矩阵中有一个正整数,0表示位置也保持0在原始矩阵中。我们必须生成原始矩阵,以便A[i]表示第i行中的最大元素,而B[j]表示第j列中的最大元素。
因此,如果输入像A=[4,2,3],B=[3,1,0,0,4,0,5]矩阵,那么输出将是矩阵
为了解决这个问题,我们将遵循以下步骤-
N:=A的大小
M:=B的大小
对于0到N范围内的i,执行
如果mat[i,j]与1相同,则
除此以外,
显示A[i]和B[j]的最小值
打印新行
对于0到M范围内的j,执行
示例
让我们看下面的实现以更好地理解-
def print_original_mat(A, B, mat) : N = len(A) M = len(B) for i in range(N) : for j in range(M) : if (mat[i][j] == 1) : print(min(A[i], B[j]), end = " ") else : print(0, end = " ") print()A = [4, 2, 3] B = [3, 1, 0, 0, 4, 0, 5] mat = [ [1, 0, 0, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1, 1], [1, 1, 0, 1, 1, 0, 0]] print_original_mat(A, B, mat);
输入项
[4, 2, 3], [3, 1, 0, 0, 4, 0, 5], [[1, 0, 0, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1, 1], [1, 1, 0, 1, 1, 0, 0]]
输出结果
3 0 0 0 4 0 4 0 0 0 0 0 0 2 3 1 0 0 3 0 0