每日刷題 矩陣置零

2021-09-27 08:37:00 字數 1049 閱讀 5549

給定乙個 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 對於這道題來說,猛...