leetcode73-矩阵置零

leetcode 73

思路

  • 记录 0 元素的位置:遍历整个矩阵,找出所有值为 0 的元素,并将它们的坐标记录在数组zeroPosition中
  • 置零操作:遍历记录的所有 0 元素位置,将每个位置对应的行和列的所有元素置为 0
具体步骤
  • 初始化变量:获取矩阵的行数aLen和列数bLen,并创建空数组zeroPosition来存储 0 元素的坐标
  • 查找 0 元素:使用双重循环遍历矩阵,当发现元素为 0 时,将其行列坐标i, j存入zeroPosition
  • 置零操作:遍历zeroPosition数组,对每个坐标x, y,将第x行和第y列的所有元素置为 0

实现

js 复制代码
var setZeroes = function (matrix) {
  const aLen = matrix.length;
  const bLen = matrix[0].length;
  const zeroPosition = []; // 0的位置

  // 查找为0元素的坐标
  for (let i = 0; i < aLen; i++) {
    for (let j = 0; j < bLen; j++) {
      if (matrix[i][j] === 0) {
        zeroPosition.push([i, j])
      }
    }
  }
  // 设置0操作
  for (let i = 0; i < zeroPosition.length; i++) {
    const x = zeroPosition[i][0] 
    const y = zeroPosition[i][1]
    for (let j = 0; j < aLen; j++) {
      matrix[j][y] = 0
    }
    for (let j = 0; j < bLen; j++) {
      matrix[x][j] = 0
    }
  }
  return matrix
};
相关推荐
H.莓飛7 小时前
【数据结构】队列
linux·数据结构·centos
不会就选b8 小时前
算法日常・每日刷题--<动态规划>3
数据结构·算法
H.莓飛9 小时前
【数据结构】队列_OJ题
linux·数据结构·centos
H.莓飛9 小时前
【数据结构】栈_OJ题
linux·数据结构·算法·centos
平行侠10 小时前
065 B树(B-Tree)
数据结构·b树·树查找
0+11112 小时前
算法 --模拟
c++·算法·leetcode
Nil20813 小时前
leetcode 739每日温度
算法·leetcode·职场和发展
lvwangshu13 小时前
势能分析(摊还分析)
数据结构·数学·算法
xqqxqxxq14 小时前
LeetCode Hot100 矩阵专题题解笔记
笔记·leetcode·矩阵
All for pursuit.15 小时前
【贪心-4】581.最短无序连续子数组
数据结构·c++·算法·leetcode