Python矩陣置零是一種很常見的操作,用于將矩陣中特定的元素置為0。在Python中,我們可以使用雙重循環來實現矩陣置零。
def setZeros(matrix): m = len(matrix) n = len(matrix[0]) row = set() col = set() for i in range(m): for j in range(n): if matrix[i][j] == 0: row.add(i) col.add(j) for i in range(m): for j in range(n): if i in row or j in col: matrix[i][j] = 0 return matrix
上面的代碼中,我們首先定義了一個矩陣的行數和列數,然后定義兩個集合用于存儲需要置零的行和列。接著,我們使用雙重循環遍歷矩陣,當發現元素為0時,我們將對應的行號和列號存入相應的集合中。最后,我們再次遍歷矩陣,并將需要置零的行和列對應的元素都置為0。
這種方法的時間復雜度為O(mn),空間復雜度為O(m+n),其中m為矩陣的行數,n為矩陣的列數。