在由陆地/海洋组成的网格中,计算岛屿数量(或找出所有岛屿)。
Find the number of islands in a grid of land and water (or list all islands).
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
标签: ByteDance, BFS, DFS, Grid
目标岗位: Front End Developer, Frontend Engineer
目标公司: ByteDance
参考答案摘要
答案(DFS/BFS Flood Fill) 思路: 遍历网格,遇到未访问的陆地就启动一次 DFS/BFS,把与之四方向(或题目指定的方向)连通的陆地全部标记;启动次数即岛屿数量。 复杂度 时间:O(R*C)(每个格子最多访问一次) 空间:O(R*C)(visited 或递归栈/队列) 参考实现(BFS,避免递归栈溢出) function numIslands(grid) { const R = ...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。