3619. Count Islands With Total Value Divisible by K

26 年 3 月 1 日 星期日
191 字
1 分钟

3619. Count Islands With Total Value Divisible by K

Screenshot 2026-03-01 at 11.08.26 am
js
/**
 * @param {number[][]} grid
 * @param {number} k
 * @return {number}
 */
var countIslands = function (grid, k) {
  const m = grid.length
  const n = grid[0].length
  const dfs = (i, j) => {
    let v = grid[i][j]
    // 插棋
    grid[i][j] = -1
    // 找下一步
    for (const [x, y] of [
      [i + 1, j],
      [i - 1, j],
      [i, j + 1],
      [i, j - 1],
    ])
      if (x < m && x >= 0 && y < n && y >= 0) {
        // x, y 在合法范围内
        if (grid[x][y] > 0) {
          // x, y 是陆地并且没有访问过
          // 加价值
          v += dfs(x, y)
        }
      }
    return v
  }
  let ans = 0
  for (let i = 0; i < m; i++) {
    for (let j = 0; j < n; j++) {
      if (grid[i][j] > 0) {
        if (dfs(i, j) % k === 0) {
          // ⚠️整除 %
          ans += 1
        }
      }
    }
  }
  return ans
}

文章标题:3619. Count Islands With Total Value Divisible by K

文章作者:Sirui Chen

文章链接:https://blog.siruichen.me/posts/3619_count_islands_with_total_value_divisible_by_k[复制]

最后修改时间:


商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但是分发衍生作品时必须采用相同的许可协议。
本文采用CC BY-NC-SA 4.0进行许可。