leetcode 73 矩陣置零

2021-09-01 12:14:11 字數 1144 閱讀 8681

給定乙個 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]

]

高階:

思路:o(mn)空間  第一遍遍歷矩陣,用乙個m*n的矩陣來記錄矩陣中0的位置,再通過記錄矩陣第二次遍歷原始矩陣將行列置零。

o(m+n)空間 我的思路是用兩個set集合,第一遍遍歷的時候將0位置的行列分別記錄到兩個set集合中,第二次遍歷時通過set集合置零。

o(1)空間 第一遍遍歷矩陣時,如果第一行或者第一列有0元素,用兩個flag(boolean)來記錄,其餘行列裡如果有0元素則將矩陣的該行和列置零,第二遍掃瞄的時候如果matrix[0][i]或者matrix[j][0]為0,則令matrix[i][j]=0。

o(m+n):

class solution else if(matrix[i][j]==0)

// }

// }

// for(int i=0;i// }

// }

// if(firstrowiszero)

// }

// if(firstcoliszero)

// }

leetcode73 矩陣置零

給定乙個 m x n 的矩陣,如果乙個元素為 0,則將其所在行和列的所有元素都設為 0。請使用原地演算法。示例 1 輸入 1,1,1 1,0,1 1,1,1 輸出 1,0,1 0,0,0 1,0,1 空間複雜度為o mn 的解法自不用多說,直接新建乙個和matrix等大小的矩陣,然後一行一行的掃,只...

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 示例 2 輸入 0,1,2,0 3,4,5,2 1,3,1,5 輸出 0,0,0,0 0,4,5,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 示例 2 輸入 0,1,2,0 3,4,5,2 1,3,1,5 輸出 0,0,0,0 0,4,5,0...