給定乙個m×n矩陣,如果乙個元素是0,則將其所在行和列全部元素變成0。
需要在原矩陣上完成操作。
樣例
樣例 1
:輸入:[[
1,2]
,[0,
3]]輸出:[[
0,2]
,[0,
0]]樣例 2
:輸入:[[
1,2,
3],[
4,0,
6],[
7,8,
9]]輸出:[[
1,0,
3],[
0,0,
0],[
7,0,
9]]挑戰
你是否使用了額外的空間?
乙個直接的解決方案是使用 o
(mn) 的額外空間,但這並不是乙個好的方案。
乙個簡單的改進方案是使用 o
(m + n) 的額外空間,但這仍然不是最好的解決方案。
你能想出乙個常數空間的解決方案嗎?
思路:遍歷矩陣,找到每乙個為0數的行列並記錄,對每一行和每一列進行置0即可
class
solution}}
for(
auto r : row)
for(
auto c : col)
}void
rowsetzero
(vectorint>>
&matrix,
int row)
}void
colsetzero
(vectorint>>
&matrix,
int col)}}
;
lintcode 162 矩陣歸零
給定乙個m n矩陣,如果乙個元素是0,則將其所在行和列全部元素變成0。需要在原矩陣上完成操作。樣例給出乙個矩陣 1,2 0,3 返回 0,2 0,0 挑戰 你是否使用了額外的空間?你能想出乙個常數空間的解決方案嗎?標籤cracking the coding interview 矩陣 思路 若點 i ...
lintcode 矩陣歸零 162
給定乙個m n矩陣,如果乙個元素是0,則將其所在行和列全部元素變成0。需要在原地完成。樣例給出乙個矩陣 1,2 0,3 返回 0,2 0,0 挑戰你是否使用了額外的空間?乙個直接的解決方案是使用o mn 的額外空間,但這並不是乙個好的方案。乙個簡單的改進方案是使用o m n 的額外空間,但這仍然不是...
矩陣歸零 LintCode
給定乙個m n矩陣,如果乙個元素是0,則將其所在行和列全部元素變成0。需要在原矩陣上完成操作。樣例 給出乙個矩陣 1,2 0,3 返回 0,2 0,0 挑戰 你是否使用了額外的空間?乙個直接的解決方案是使用 o mn 的額外空間,但這並不是乙個好的方案。乙個簡單的改進方案是使用 o m n 的額外空...