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
};
相关推荐
XiYang-DING7 小时前
【LeetCode】Hash | 136.只出现一次的数字
算法·leetcode·哈希算法
Tairitsu_H8 小时前
C语言:排序(一)
c语言·数据结构·排序
嘻嘻哈哈樱桃9 小时前
俄罗斯套娃信封问题力扣--354
算法·leetcode·职场和发展
田梓燊9 小时前
2026/4/12 leetcode 1320
算法·leetcode·职场和发展
j_xxx404_9 小时前
力扣题型--链表(两数相加|两两交换链表中的节点|重排链表)
数据结构·c++·算法·leetcode·蓝桥杯·排序算法
_日拱一卒10 小时前
LeetCode:240搜索二维矩阵Ⅱ
数据结构·线性代数·leetcode·矩阵
WolfGang00732110 小时前
代码随想录算法训练营 Day33 | 动态规划 part06
算法·leetcode·动态规划
米粒110 小时前
力扣算法刷题 Day 41(买卖股票)
算法·leetcode·职场和发展
闪闪发亮的小星星10 小时前
比较两个旋转矩阵的误差
线性代数·矩阵
计算机安禾11 小时前
【数据结构与算法】第44篇:堆(Heap)的实现
c语言·开发语言·数据结构·c++·算法·排序算法·图论