給定乙個 m x n 的矩陣,如果乙個元素為 0,則將其所在行和列的所有元素都設為 0。請使用原地演算法。
示例 1:思路:o(mn)空間 第一遍遍歷矩陣,用乙個m*n的矩陣來記錄矩陣中0的位置,再通過記錄矩陣第二次遍歷原始矩陣將行列置零。輸入:[示例 2:[1,1,1],
[1,0,1],
[1,1,1]
]輸出:[
[1,0,1],
[0,0,0],
[1,0,1]
]
輸入:[高階:[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(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...