清除行列 请编写一个算法,若N阶方阵中某个元素为0,则将其所在的行与列清零。 给定一个N阶方阵int[][](C++中为vector<vector><int>>)mat和矩阵的阶数n,请返回完成操
来源:互联网 发布:小孩刘心悠原帖知乎 编辑:程序博客网 时间:2024/06/06 04:20
请编写一个算法,若N阶方阵中某个元素为0,则将其所在的行与列清零。
给定一个N阶方阵int[][](C++中为vector<vector><int>>)mat和矩阵的阶数n,请返回完成操作后的int[][]方阵(C++中为vector<vector><int>>),保证n小于等于300,矩阵中的元素为int范围内。</int></vector></int></vector>
测试样例:
[[1,2,3],[0,1,2],[0,0,1]]
返回:[[0,0,3],[0,0,0],[0,0,0]]
public static int[][] clearZero(int[][] mat, int n) {
// write code here\
boolean hang[]=new boolean[n];
boolean lie[]=new boolean[n];
for(int i=0;i<mat.length;i++){
for(int j=0;j<mat[i].length;j++){
if(mat[i][j]==0){
hang[i]=true;
lie[j]=true;
}
}
}
for(int i=0;i<hang.length;i++){
if(hang[i]){
for(int j=0;j<lie.length;j++){
mat[i][j]=0;
}
}
if(lie[i]){
for(int j=0;j<lie.length;j++){
mat[j][i]=0;
}
}
}
return mat;
}
阅读全文
0 0
- 清除行列 请编写一个算法,若N阶方阵中某个元素为0,则将其所在的行与列清零。 给定一个N阶方阵int[][](C++中为vector<vector><int>>)mat和矩阵的阶数n,请返回完成操
- 请编写一个算法,若MxN矩阵中某个元素为0,则将其所在的行与列清零。 给定一个MxN的int[][]矩阵(C++中为vector>)mat和矩阵的阶数n,请返回完成操作后的int[][]矩阵(C++中
- 面试7之请编写一个算法,若N阶方阵中某个元素为0,则将其所在的行与列清零。
- 9.1数组与字符串(六)——若M*N矩阵中某个元素为0,则将其所在的行与列清零
- 程序员面试金典1.7:若M*N矩阵中某个元素为0,则将其所在的行与列清零
- 【Java】若MxN矩阵中某个元素为0, 则将其所在的行与列清零
- 对于一个矩阵,请设计一个算法从左上角(mat[0][0])开始,顺时针打印矩阵元素。 给定int矩阵mat,以及它的维数nxm,请返回一个数组,数组中的元素为矩阵元素的顺时针输出。
- 有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度。 给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转
- 程序员面试金典: 9.1数组与字符串 7若M*N矩阵中某个元素为0,则将其所在行与列清零
- 给定一个m×n矩阵,如果一个元素为0,则将其整行和列的值设置为0.
- 请设计一个算法,计算n的阶乘有多少个尾随零。 给定一个int n,请返回n的阶乘的尾零个数。保证n为正整数
- 编写一个函数itob(int n,char s[], int b),将整数n转换为以b进制的数。保存到s中。
- 将M*N矩阵中0元素所在的行、列的元素全部置为0
- 有一个整数数组,请编写一个函数,找出索引m和n,只要将m和n之间的元素排好序,整个数组就是有序的。注意:n-m应该越小越好,也就是说,找出符合条件的最短序列。 给定一个int数组A和数组的大小n,请
- [每天一题]如果M*N的矩阵中的一个元素为0,则设置其整个行列为0
- 【C语言】【笔试题】编写一个函数itob(int n,char s[], int b),将整数n转换为以b进制的数。保存到s中。
- 【详解】C语言:编写一个函数itob(int n,char s[], int b),将整数n转换为以b进制的数。保存到s中。
- 编写函数int stat(int a[],int n,int c[][2])。a指向的数组中保存了由n个1位整数组成的数列(n为偶数)。函数从前至后依次将a数组中每两个相邻元素拼成一个不超过2位的
- 热更新学习笔记(二)
- Linux awk详细讲解
- sdnu 1521(堆排序应用)
- 浏览器调用桌面程序方法
- Hbase原理
- 清除行列 请编写一个算法,若N阶方阵中某个元素为0,则将其所在的行与列清零。 给定一个N阶方阵int[][](C++中为vector<vector><int>>)mat和矩阵的阶数n,请返回完成操
- IntelliJ IDEA 激活
- 机器学习之文本分类-从词频统计到神经网络(一)
- 【基础】C#:委托Action、Action<T>、Func<T>、Predicate<T>
- 顺序存储结构线性表—StaticList
- angular2基础知识
- 常见机器学习算法
- 蓝桥杯--基础训练--时间转换,字符串对比、矩阵乘法-J(Java)
- 17江苏省物理及创新实验作品大赛回顾