Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place.
class Solution {
public:
void setZeroes(vector<vector<int> > &matrix) {
vector< pair< int, int> > tmp;
for( int i = 0; i < matrix.size(); ++i){
for( int j = 0; j < matrix[i].size(); ++j){
if( matrix[i][j] == 0){
tmp.push_back( make_pair( i, j));
}
}
}
for( int i = 0; i < tmp.size(); ++i){
for( int m = 0; m < matrix.size(); ++m){
matrix[m][tmp[i].second] = 0;
}
for( int n = 0; n < matrix[0].size(); ++n){
matrix[tmp[i].first][n] = 0;
}
}
}
};