在 Python 中已知矩陣每行和每列的最大元素,求原矩陣
假設我們有兩個陣列 A 和 B,大小分別為 N 和 M,我們還有一個 N x M 的二元矩陣,其中 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 的大小
對於 i 的範圍為 0 到 N,執行:
對於 j 的範圍為 0 到 M,執行:
如果 mat[i, j] 等於 1,則
顯示 A[i] 和 B[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
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP