调试中...
调试中...
题目描述
题目描述
题解
题解
提交记录
提交记录
代码
代码
测试用例
测试用例
测试结果
测试结果
中等
相关标签
相关企业
提示

你有一个用于表示一片土地的整数矩阵land,该矩阵中每个点的值代表对应地点的海拔高度。若值为0则表示水域。由垂直、水平或对角连接的水域为池塘。池塘的大小是指相连接的水域的个数。编写一个方法来计算矩阵中所有池塘的大小,返回值需要从小到大排序。

示例:

输入:
[
  [0,2,1,0],
  [0,1,0,1],
  [1,1,0,1],
  [0,1,0,1]
]
输出: [1,2,4]

提示:

  • 0 < len(land) <= 1000
  • 0 < len(land[i]) <= 1000
通过次数
47.7K
提交次数
71.2K
通过率
67.0%


相关企业

提示 1
如果给你一个指代水的单元格的行和列,你如何找到所有相邻的水域?

提示 2
尝试递归计算含水单元格的数目。

提示 3
你如何确保不会再次访问相同的单元格?考虑一下图上的广度优先搜索或深度优先搜索是如何工作的。

提示 4
你应该有一个算法,其在N×N矩阵上的时间复杂度是O(N2)。如果你的算法并非如此,请考虑是否错误地计算了时间复杂度,或者是否你的算法不是最优的。

评论 (0)

《程序员面试金典(第 6 版)》独家授权
本书是原谷歌资深面试官的经验之作,帮助了许多想要加入脸书、苹果、谷歌等 IT 名企的求职者拿到 Dream offer。本专题的 100+ 编程面试题是在原书基础上精心挑选出来的,帮助你轻松应战 IT 名企技术面试。
© 2025 领扣网络(上海)有限公司
0 人在线
行 1,列 1
运行和提交代码需要登录
land =
[[0,2,1,0],[0,1,0,1],[1,1,0,1],[0,1,0,1]]
Source