https://leetcode-cn.com/problems/zero-matrix-lcci/submissions/
难度中等13收藏分享切换为英文关注反馈
编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。
示例 1:
输入: [ [1,1,1], [1,0,1], [1,1,1] ] 输出: [ [1,0,1], [0,0,0], [1,0,1] ]
示例 2:
输入: [ [0,1,2,0], [3,4,5,2], [1,3,1,5] ] 输出: [ [0,0,0,0], [0,4,5,0], [0,3,1,0] ]
执行用时:140 ms, 在所有 JavaScript 提交中击败了11.78%的用户
内存消耗:39.7 MB, 在所有 JavaScript 提交中击败了91.03%的用户
/**
* @param {number[][]} matrix
* @return {void} Do not return anything, modify matrix in-place instead.
*/
var setZeroes = function (matrix) {
var arr = new Array();
for (var i = 0; i < matrix.length; i++) //有matrix.length行 有matrix[0].length列
{
for (var j = 0; j < matrix[0].length; j++) {
if (matrix[i][j] == 0) arr.push(i, j); //记录了为0的行与列
}
}
for (var i = 0; i < arr.length; i++) {
if (i % 2 == 0) { //消除行
for (var j = 0; j < matrix[0].length; j++) {
matrix[arr[i]][j] = 0;
}
}
else { //消除列
for (var j = 0; j < matrix.length; j++) {
matrix[j][arr[i]] = 0;
}
}
}
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/69273.html