Write an algorithm such that if an element in an M*N matrix is 0, its entire row and column is set to 0.
分析:乍一看,很容易解决,就遍历一遍整个矩阵,每次见到0就把他锁在行列设置为0. 之后你会发现,遍历结束后,整个矩阵都是0了!
void setzero(int matrix[10][10])
{
int newrow[10];
int newcoloum[10];
int i,j;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if(matrix[i][j]==0)
{ newrow[i]=1;
newcoloum[j]=1;
}
}
}
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if((newrow[i]==1||newcoloum[j]==1))
matrix[i][j]=0;
}
}
}