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
};
相关推荐
风筝在晴天搁浅9 分钟前
代码随想录 701.二叉搜索树中的插入操作
数据结构
星空露珠1 小时前
数独解题算法lua脚本
开发语言·数据结构·算法·游戏·lua
小猪咪piggy1 小时前
【算法】day14 链表
数据结构·算法·链表
yy_xzz1 小时前
【数据结构】队列(Queue)详解——数据结构的“先进先出”
开发语言·数据结构
承渊政道2 小时前
算法复杂度
c语言·数据结构·c++·算法·visual studio
泡沫冰@2 小时前
数据结构(12)
数据结构
磊-2 小时前
数组双指针总结
数据结构·算法
Skrrapper2 小时前
【C++】C++11都有什么新特性?
数据结构·c++
.小小陈.3 小时前
链表算法题
数据结构·算法·链表
大飞pkz3 小时前
【算法】排序算法汇总1
开发语言·数据结构·算法·c#·排序算法