給定乙個 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,0,0,0],
[0,4,5,0],
[0,3,1,0]
給出乙個常數空間複雜度的演算法:
先找乙個標記值,該標記值為原矩陣中不存在的乙個元素。
遍歷矩陣,將元素 0 所在的行/列中除 0 以外的元素全部改為標記值。
遍歷矩陣,將所有標記值轉化為 0.
**:
class
solutionif(
!t)break;}
//將存在 0 的一行/列做標記
for(
int i =
0; i < matrix.
size()
; i++
)for
(int j =
0; j < matrix[0]
.size()
; j++)if
(!matrix[i]
[j])
//將標記轉換為 0
for(
int i =
0; i < matrix.
size()
; i++
)for
(int j =
0; j < matrix[0]
.size()
; j++)if
( matrix[i]
[j]== flag)
matrix[i]
[j]=0;
}};
leetcode刷題 73矩陣置零
給定乙個 m x n 的矩陣,如果乙個元素為 0,則將其所在行和列的所有元素都設為 0。請使用原地演算法。示例 1 輸入 1,1,1 1,0,1 1,1,1 輸出 1,0,1 0,0,0 1,0,1 從頭遍歷陣列,記錄0存在的行號和列號,然後置零 class solution def setzero...
每日一題 120 矩陣置零
給定乙個 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,0,0,0 0,4,5,0...
小白刷題之路 零矩陣
題目描述如下 編寫一種演算法,若m n矩陣中某個元素為0,則將其所在的行與列清零。輸入 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 對於這道題來說,猛...