【前端面试】清除二维数组中元素为0所在的行和列
来源:互联网 发布:什么软件做假章 编辑:程序博客网 时间:2024/06/15 18:52
面试的时候经常会遇到这样一个面试题:
有一个二维数组如下:[ [1,1,3,8], [0,2,5,6], [3,1,0,4], [5,8,2,7]]需要将包含0的行和列变为0.请输出返回的数组。
使用js实现代码如下:
function clearZero(arr){ var row = arr.length; var col = arr[0].length; var rowIndex = []; var colIndex = []; for (var i = 0; i < row; i++) { for (var j = 0; j < col; j++) { if (arr[i][j] == 0) { if (rowIndex.indexOf(i) == -1) {rowIndex.push(i)} if (colIndex.indexOf(j) == -1) {colIndex.push(j)} } } } for (var i = 0; i < row; i++) { for (var j = 0; j < col; j++) { if (rowIndex.indexOf(i) !== -1 || colIndex.indexOf(j) !== -1) { arr[i][j] = 0 } } } return arr;}
暂时没有想到复杂度更低的方法.
阅读全文
0 0
- 【前端面试】清除二维数组中元素为0所在的行和列
- 《程序员面试金典》--清除二维数组中元素为0所在的行和列
- 将矩阵中元素0所在的行和列置为0
- 矩阵中有0的元素,将它所在的行和列的元素设置为0
- [2014美团笔试]在二维数组中查找一个数,数组元素的行和列均为升序
- 将数组中0元素所在的行和列都置为0
- 从行,列均为递增的二维数组中查找给定元素
- 有一个3行4列的二维数组,要求编程找出最大的元素,并输出所在的行和列。
- 4.编程打印一个二维数组中所有元素的和,并打印最大值,最小值(以及它们所在的行号和列号)
- 程序员面试金典1.7:若M*N矩阵中某个元素为0,则将其所在的行与列清零
- 面试7之请编写一个算法,若N阶方阵中某个元素为0,则将其所在的行与列清零。
- 二维数组;求一个3×4的矩阵中最大的那个元素的值,及其所在的行号和列号
- 将一个二维数组的行和列的元素互换,存到另外一个二维数组中。
- 将一个二维数组的行和列的元素互换,存到另外一个二维数组中
- 将一个二维数组的行和列的元素互换,存到另一个二维数组中。
- 编写一个通用程序,将二维数组含有最大元素的列与第0列元素对调。例如,原数组和调换后的目标数组为
- c语言:将一个二维数组行和列的元素互换,存到另一个二维数组中。
- 例 6.4 将一个二维数组行和列的元素互换,存到另一个二维数组中。
- 关于eclipse安装maven之后,maven找不到JDK问题
- CSS居中元素
- Android Kotlin开发尝鲜
- vim启动和退出
- java中的匿名内部类总结
- 【前端面试】清除二维数组中元素为0所在的行和列
- IM 与 LVB 集成方案:
- 论文阅读——YouTube推荐中的深层神经网络
- java获取完整路径
- Golang 学习之路十:并发
- 3D max 渲染lightingmap的时候出现的小问题
- [李景山php] ddos 攻击 之 HTTP Flood 别名 cc攻击
- PHP学习笔记——数组下标的细节问题
- Spring中注入service时property报错 notfind dao