面試題 01 08 零矩陣

2021-10-25 20:21:46 字數 891 閱讀 5499

編寫一種演算法,若m × n矩陣中某個元素為0,則將其所在的行與列清零。

示例 1:

輸入:

[[1,1,1],

[1,0,1],

[1,1,1]

]輸出:

[[1,0,1],

[0,0,0],

[1,0,1]

]

示例 2:

輸入:

[[0,1,2,0],

[3,4,5,2],

[1,3,1,5]

]輸出:

[[0,0,0,0],

[0,4,5,0],

[0,3,1,0]

]

2.1 類暴力破解

首先想到的是用兩個set儲存矩陣中0元素所在的行和列,因為set資料型別的性質,不會存入重複元素。然後遍歷set中的值,將set中的行和列所在元素重置為空,但此時肯定會有重複元素被多次重置為0。故重置為0之前進行了判斷。**如下:

class

solution}}

for(iterator

it = iset.

iterator()

; it.

hasnext()

;)}}

for(iterator

it = jset.

iterator()

; it.

hasnext()

;)}}

}}

最後執行時間和消耗記憶體如下:

LeetCode面試題 01 08 零矩陣

原題鏈結 題目 編寫一種演算法,若m n矩陣中某個元素為0,則將其所在的行與列清零。思路 遍歷第一行,若第一行存在0,記錄下來 遍歷第一列,若第一列存在0,記錄下來 遍歷矩陣中除去第一行和第一列的所有元素,若某一位置的元素為0,將該位置對應的行首元素和列首元素置為0 遍歷矩陣中除去第一行和第二列的所...

刷題 力扣 面試題 01 08 零矩陣

題目鏈結 題目描述 編寫一種演算法,若m n矩陣中某個元素為0,則將其所在的行與列清零。示例 1 輸入 1,1,1 1,0,1 1,1,1 輸出 1,0,1 0,0,0 1,0,1 示例 2 輸入 0,1,2,0 3,4,5,2 1,3,1,5 輸出 0,0,0,0 0,4,5,0 0,3,1,0 ...

leetcode 面試題73 矩陣置零

2020 3 21 打卡 給定乙個 m x n 的矩陣,如果乙個元素為 0,則將其所在行和列的所有元素都設為 0。請使用原地演算法。示例 1 輸入 1,1,1 1,0,1 1,1,1 輸出 1,0,1 0,0,0 1,0,1 示例 2 輸入 0,1,2,0 3,4,5,2 1,3,1,5 輸出 0,...