题目:
分析:
我是弟弟。遇到0把第一行,第一列的置为0即可。
代码:
vector<vector<int> > m;
int k1=0;//第一行
int k2=0;//第一列
//列
for(int i=0;i<m.size();i++)
{
if(m[i][0]==0){
k2=1;break;
}
}
for(int i=0;i<m[0].size();i++)
{
if(m[0][i]==0){
k1=1;break;
}
}
for(int i=1;i<m.size();i++)
for(int j=0;j<m[0].size();j++)
{
if(m[i][j]==0) {
m[i][0]=0;
m[0][j]=0;
}
}
//列
for(int i=1;i<m[0].size();i++)
{
if(m[0][i]==0)
{
for(int j=0;j<m.size();j++) m[j][i]=0;
}
}
//行
for(int i=1;i<m.size();i++)
{
if(m[i][0]==0) for(int j=0;j<m[0].size();j++) m[i][j]=0;
}
//k1 k2
if(k2)
{
for(int i=1;i<m.size();i++) m[i][0]=0;
}
if(k1)
{
for(int j=0;j<m[0].size();j++) m[0][j]=0;
}