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
};
相关推荐
博界IT精灵16 分钟前
王道书3.4.3:特殊矩阵的压缩存储
数据结构·考研·矩阵
灰色小旋风31 分钟前
力扣19删除链表的倒数第N个结点(C++)
c++·算法·leetcode·链表
二进制星轨33 分钟前
leecode-70-颜色分类-算法题解
数据结构·算法·排序算法
链巨人1 小时前
AONT(All-Or-Nothing Transform,全或无变换)矩阵
线性代数·矩阵
Rabitebla1 小时前
[特殊字符] TopK问题全解析(TomGo复习版|讲人话 + 原理打穿)
c语言·数据结构·算法·链表
我是玄兔1 小时前
2022年复试题
数据结构·算法
keep intensify2 小时前
最小路径和
算法·leetcode·职场和发展
袋鼠云数栈2 小时前
黄仁勋 GTC 2026 之后,为何AI 时代的数据底座正在被重新定义?
大数据·数据结构·人工智能·架构·多模态
Hknll2 小时前
CSP第33次认证题解
数据结构·c++·算法·stl·字符串·csp认证·vector/array
多打代码2 小时前
2026.03.23 最长递增子序列 & 最长连续递增序列 & 最长公共子序列
算法·leetcode·职场和发展