#include <iostream>
#include <vector>
using namespace std;
class Solution {
public:
void setZeroes(vector< vector<int> > &matrix) {// reference is needed;
size_t colNum = matrix[0].size();//n
size_t rowNum = matrix.size();//m
vector<bool> row(rowNum,false);
vector<bool> col(colNum,false);
for(int i = 0;i<colNum;++i){
for(int j = 0;j<rowNum;++j){// practice get from hand ;
if(matrix[j][i] == 0){
col[i] = row[j] = true;
}
}
}
for(int i = 0;i<colNum;++i){
if(col[i]){
for(int t = 0;t<rowNum;++t){
matrix[t][i] = 0;
}
}
}
for(int j = 0;j<rowNum;++j){
if(row[j]){
for(int t = 0;t<colNum;++t){
matrix[j][t] = 0;
}
}
}
}
};
int main(){
Solution sl;
vector<int> kk(2,0);
vector< vector<int> > kk2;
kk2.push_back(kk);
kk2[0][1] = 1;
sl.setZeroes(kk2);
for(int i = 0;i<kk2.size();++i){
for(int j = 0;j<kk2[0].size();++j){
cout << kk2[i][j]<<" ";
}
cout << endl;
}
}
保存的 思想
Set Matrix zeroes
最新推荐文章于 2020-12-23 07:06:23 发布