【Java】若MxN矩阵中某个元素为0, 则将其所在的行与列清零
来源:互联网 发布:php app 用户注册源码 编辑:程序博客网 时间:2024/06/05 06:23
若直接遍历整个矩阵,发现为零的元素就直接将所在行与列清零,这样做有一个陷阱,在读取已被清零的行或列时,读到的全是零,于是所在的行或列都变成零。
很快整个矩阵的所有元素都全部变为零了。
其实我们并不关心具体的行号和列号,反正整行和整列都会被清零,我们可以标记出零元素的行号和列号,根据这个来进行清零
public class setZeros {public void setZero(int[][] matrix){boolean[] row = new boolean[matrix.length];boolean[] column = new boolean[matrix[0].length];for (int i = 0; i < matrix.length; i++){for (int j = 0; j < matrix[0].length; j++){if (matrix[i][j] == 0){row[i] = true;column[j] = true;}}}for (int i = 0; i < matrix.length; i++){for (int j = 0; j < matrix[0].length; j++){if(row[i] || column[j]){matrix[i][j] = 0;}}}}}
0 0
- 【Java】若MxN矩阵中某个元素为0, 则将其所在的行与列清零
- 请编写一个算法,若MxN矩阵中某个元素为0,则将其所在的行与列清零。 给定一个MxN的int[][]矩阵(C++中为vector>)mat和矩阵的阶数n,请返回完成操作后的int[][]矩阵(C++中
- 9.1数组与字符串(六)——若M*N矩阵中某个元素为0,则将其所在的行与列清零
- 程序员面试金典1.7:若M*N矩阵中某个元素为0,则将其所在的行与列清零
- 面试7之请编写一个算法,若N阶方阵中某个元素为0,则将其所在的行与列清零。
- 程序员面试金典: 9.1数组与字符串 7若M*N矩阵中某个元素为0,则将其所在行与列清零
- 清除行列 请编写一个算法,若N阶方阵中某个元素为0,则将其所在的行与列清零。 给定一个N阶方阵int[][](C++中为vector<vector><int>>)mat和矩阵的阶数n,请返回完成操
- 将矩阵含有0所在的行和列清零
- 将矩阵中元素0所在的行和列置为0
- 将M*N矩阵中0元素所在的行、列的元素全部置为0
- 如果MxN 矩阵中有0,则把该元素的整行,列都变为0(算法)
- 如果矩阵中某个元素为0,那么把它所在的行和列都置为0
- 矩阵中有0的元素,将它所在的行和列的元素设置为0
- 给定一个m×n矩阵,如果一个元素为0,则将其整行和列的值设置为0.
- 将矩阵中值为0的元素所在的行和列设置为0, in-place O(1)space O(mn) time
- 将矩阵中0元素所对应的行列都清零
- java mxn矩阵的反对成转置存为list
- 《程序员面试金典》--清除二维数组中元素为0所在的行和列
- ArcGIS栅格计算器
- ubuntu15.04安装与配置之搜狗输入法的安装
- js 实现map功能
- UVa 455 周期串
- 12堂思维课的读后点滴
- 【Java】若MxN矩阵中某个元素为0, 则将其所在的行与列清零
- Wifi连接Android手机调试√
- javascript arguments
- opencv cvSobel()以及Scharr滤波器
- MySQL Python Windows下的安装经历(失败)
- IOS中定时器NSTimer的开启与关闭
- 神经网络中的softmax函数
- 《财务决策与分析》——期末总结(慕课组)
- debin 创建版本库,配置LAMP,创建mysql数据库