void setZeroes(int** matrix, int matrixSize, int* matrixColSize){
int* rhash = (int*)calloc(matrixSize, sizeof(int));
int* chash = (int*)calloc(*matrixColSize, sizeof(int));
int i, j, k;
for (i = 0; i < matrixSize; i++){
for (j = 0; j < *matrixColSize; j++)
{
if (matrix[i][j] == 0){
rhash[i] = 1;
chash[j] = 1;
}
}
}
for (i = 0; i < matrixSize; i++){
if (rhash[i]==1)
memset(matrix[i], 0, (*matrixColSize)*sizeof(int));
}
for (i = 0; i < *matrixColSize; i++){
if (chash[i] == 1){
for (k = 0; k < matrixSize; k++)
matrix[k][i] = 0;
}
}
}
void setZeroes(int** matrix, int matrixSize, int* matrixColSize){
int* rhash = (int*)calloc(matrixSize, sizeof(int));
int* chash = (int*)calloc(*matrixColSize, sizeof(int));
int i, j, k;
for (i = 0; i < matrixSize; i++){
for (j = 0; j < *matrixColSize; j++)
{
if (matrix[i][j] == 0){
rhash[i] = 1;
chash[j] = 1;
}
}
}
for (i = 0; i < matrixSize; i++){
if (rhash[i]==1)
memset(matrix[i], 0, (*matrixColSize)*sizeof(int));
}
for (i = 0; i < *matrixColSize; i++){
if (chash[i] == 1){
for (k = 0; k < matrixSize; k++)
matrix[k][i] = 0;
}
}
}