mirror of
https://github.com/20kaushik02/leetcode-gulag.git
synced 2025-12-06 06:24:07 +00:00
day 13: 73-set-matrix-zeroes
This commit is contained in:
parent
86a92dc848
commit
3af727af85
18
73-set-matrix-zeroes/driver.cpp
Normal file
18
73-set-matrix-zeroes/driver.cpp
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
#include "soln.hpp"
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
// [[1,1,1],[1,0,1],[1,1,1]]
|
||||||
|
vector<int> v1 = vector<int>{0,1,1};
|
||||||
|
vector<int> v2 = vector<int>{1,1,1};
|
||||||
|
vector<int> v3 = vector<int>{1,1,1};
|
||||||
|
|
||||||
|
vector<int> v_1 = vector<int>{0,0,0};
|
||||||
|
vector<int> v_2 = vector<int>{0,1,1};
|
||||||
|
vector<int> v_3 = vector<int>{0,1,1};
|
||||||
|
|
||||||
|
vector<vector<int>> matrix = vector<vector<int>>{v1,v2,v3};
|
||||||
|
vector<vector<int>> answer = vector<vector<int>>{v_1,v_2,v_3};
|
||||||
|
Solution soln;
|
||||||
|
cout << "Set zeroes correctly? " << soln.test(matrix, answer) << endl;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
42
73-set-matrix-zeroes/soln.cpp
Normal file
42
73-set-matrix-zeroes/soln.cpp
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
#include "soln.hpp"
|
||||||
|
|
||||||
|
void Solution::setZero(vector<vector<int>> &matrix, int row, int column)
|
||||||
|
{
|
||||||
|
// set row to 0s
|
||||||
|
for (int i = 0; i < matrix[0].size(); i++)
|
||||||
|
{
|
||||||
|
matrix[row][i] = 0;
|
||||||
|
}
|
||||||
|
// set column to 0s
|
||||||
|
for (int i = 0; i < matrix.size(); i++)
|
||||||
|
{
|
||||||
|
matrix[i][column] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Solution::setZeroes(vector<vector<int>> &matrix)
|
||||||
|
{
|
||||||
|
vector<pair<int, int>> marks;
|
||||||
|
// for every row
|
||||||
|
for (int i = 0; i < matrix.size(); i++)
|
||||||
|
{
|
||||||
|
// for every column
|
||||||
|
for (int j = 0; j < matrix[0].size(); j++)
|
||||||
|
{
|
||||||
|
if (matrix[i][j] == 0)
|
||||||
|
{
|
||||||
|
marks.push_back(pair<int, int>{i, j});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (auto it : marks)
|
||||||
|
{
|
||||||
|
setZero(matrix, it.first, it.second);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Solution::test(vector<vector<int>> &matrix, vector<vector<int>>& answer) {
|
||||||
|
vector<vector<int>> mat_copy = vector<vector<int>>(matrix);
|
||||||
|
setZeroes(mat_copy);
|
||||||
|
return mat_copy == answer;
|
||||||
|
}
|
||||||
10
73-set-matrix-zeroes/soln.hpp
Normal file
10
73-set-matrix-zeroes/soln.hpp
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#include <bits/stdc++.h>
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
class Solution
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
void setZero(vector<vector<int>> &matrix, int row, int column);
|
||||||
|
void setZeroes(vector<vector<int>> &matrix);
|
||||||
|
bool test(vector<vector<int>> &matrix, vector<vector<int>> &answer);
|
||||||
|
};
|
||||||
Loading…
x
Reference in New Issue
Block a user