73.矩阵置零

编程入门 行业动态 更新时间:2024-10-25 19:22:26

73.<a href=https://www.elefans.com/category/jswz/34/1769510.html style=矩阵置零"/>

73.矩阵置零

给定一个 m x n 的矩阵,如果一个元素为 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法

示例 1:

输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]
输出:[[1,0,1],[0,0,0],[1,0,1]]

示例 2:

输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]
输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]

思路:找位置为0的,然后把所在的行和列都置为0(把这些0给标记下,遍历到这些位置上的0不用把同行列上的数值为零)

let flag = new Array();var setZeroes = function (matrix) {for (let i = 0; i < matrix.length; i++) {flag[i] = new Array();for (let j = 0; j < matrix[i].length; j++) {flag[i][j] = 0;}}for (let i = 0; i < matrix.length; i++) {for (let j = 0; j < matrix[i].length; j++) {if (matrix[i][j] == 0 && flag[i][j] == 0) {dfs(i, j, matrix);}}}};function dfs(row, column, matrix) {for (let i = 0; i < matrix.length; i++) {if (matrix[i][column] == 0) continue; //本身就为零flag[i][column] = 1;matrix[i][column] = 0;}for (let i = 0; i < matrix[row].length; i++) {if (matrix[row][i] == 0) continue; //本身就为零flag[row][i] = 1;matrix[row][i] = 0;}}

 

更多推荐

73.矩阵置零

本文发布于:2023-11-15 15:55:56,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1602341.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:矩阵

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!