LeetCode第73題矩陣置零
1.思路: 想到一個開辟一點空間來解決方法,使用哈希集。就是使用一個哈希集(row和col)來儲存數(shù)組中的元素為0的下標。然后再遍歷,整個二維數(shù)組,在哈希集中存在對應的下標,就將這一行或這一列置為0。
2.代碼部分文章來源地址http://www.zghlxwxcb.cn/news/detail-684433.html
#include<iostream>
#include<vector>
#include <unordered_set>
using namespace std;
class Solution {
public:
void setZeroes(vector<vector<int>>& matrix) {
unordered_set<int> row; //記錄橫坐標
unordered_set<int> col; //記錄縱坐標
for (int i = 0; i < matrix.size(); i++) {
for (int j = 0; j < matrix[0].size(); j++) {
if (matrix[i][j] == 0) {
row.insert(i);
col.insert(j);
}
}
}
for (int i = 0; i < matrix.size(); i++) {
for (int j = 0; j < matrix[0].size(); j++) {
if (row.count(i) || col.count(j)) {
matrix[i][j] = 0;
}
}
}
}
};
文章來源:http://www.zghlxwxcb.cn/news/detail-684433.html
到了這里,關于給定一個 m x n 的矩陣,如果一個元素為 0 ,則將其所在行和列的所有元素都設為 0 。的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!