Zheaoli / do-something-right

MIT License
37 stars 3 forks source link

2022-09-30 #376

Open Zheaoli opened 2 years ago

Zheaoli commented 2 years ago

2022-09-30

Dapeus commented 2 years ago

image

edfeff commented 2 years ago
image
unliar commented 2 years ago

2022-09-30 lc每日一题

/**
 * @param {number[][]} matrix
 * @return {void} Do not return anything, modify matrix in-place instead.
 * @link https://leetcode.cn/problems/zero-matrix-lcci/
 * @desc 编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。
 */
var setZeroes = function(matrix) {
  let row = matrix.length;
  let col = matrix[0].length;
  // 收集0
  let pos = [];
  for (let r = 0; r < row; r++) {
    for (let c = 0; c < col; c++) {
      const v = matrix[r][c];
      if (v === 0) {
        pos.push([r, c]);
      }
    }
  }
  // 清除
  pos.forEach((item) => {
    const [r, c] = item;
    matrix[r] = Array(col).fill(0);
    for (let x = 0; x < row; x++) {
      matrix[x][c] = 0;
    }
  });
  return matrix;
};