[每天一题]如果M*N的矩阵中的一个元素为0,则设置其整个行列为0
2011-09-19 05:06
417 查看
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;
}
}
}
分析:乍一看,很容易解决,就遍历一遍整个矩阵,每次见到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;
}
}
}
相关文章推荐
- 给定一个m×n矩阵,如果一个元素为0,则将其整行和列的值设置为0.
- 每天一道LeetCode-----给定一个矩阵,如果某个元素是0,就将所在行所在列上所有元素否置0
- (转)css 相对定位 绝对定位 浮动 CSS 相对定位 相对定位是一个非常容易掌握的概念。如果对一个元素进行相对定位,它将出现在它所在的位置上。然后,可以通过设置垂直或水平位置,让这个元素“相对于”
- 每天学习一算法系列(32)(求一个矩阵中最大的二维矩阵(元素和最大))
- 清除行列 请编写一个算法,若N阶方阵中某个元素为0,则将其所在的行与列清零。 给定一个N阶方阵int[][](C++中为vector<vector><int>>)mat和矩阵的阶数n,请返回完成操
- 面试题7 指定一个m*n的整数矩阵 如果(r, c)位置元素的元素是0 则将行 r 和列 c 整个变成0
- USTC机试—从键盘输入 N,建立 N*N矩阵,每个元素是一个字符串,为每个元素赋值。然后求 出按字典序排列最大的元素所在的行列。
- 在matlab中提取一个比较大的矩阵的部分元素
- 华为:给定一个数组input[],如果数组长度n为奇数,则将数组中最大的元素放到 output[]数组最中间的位置,如果数组长度n为偶数。。 .
- jquery中attr属性设置每一个匹配元素的一个或多个属性
- 每天一个JavaScript实例-铺货鼠标点击位置并将元素移动到该位置
- 你想建设一个能承受500万PV/每天的网站吗?如果计算呢?
- matlab判断一个矩阵中的元素是否完全一致
- Log4j.properties配置详及设置每天、月能够产生一个log的方法
- 行列有序矩阵求第k大元素
- 每天一道算法题7 查找链表中倒数第k个结点 ; 输入一个单向链表。如果该链表的结点数为奇数,输出中间的结点;如果链表结点数为偶数,输出中间两个结点前面的一个
- CSS3 GENERATOR可以同时为一个元素完成border-radius、box-shadow、gradient和opacity多项属性的设置
- [BD-EXAM]20091106在一棵一般的二叉树中找到指定的元素,如果有重复出现的元素,要求元素为深度最深的任何一个
- jquery的layer弹出层框架,如果设置 iframe弹出一个页面里是表单提交,提交完怎么关闭弹出层
- 【编程题目】对于一个整数矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相邻(上下左右)某一个元素也加一