【发布时间】:2020-02-03 09:52:53
【问题描述】:
我最近在一次采访中遇到了这个问题:
给定以下矩阵:
[[ R R R R R R],
[ R B B B R R],
[ B R R R B B],
[ R B R R R R]]
找出是否有任何一组只有 R 的或 只有 B 的在 4 个方向上被相反颜色包围:上、下、左、右角。
例如:上述矩阵的答案 -> 第二行中由 R 包围的有效 B 集。
[[ R R R R R R],
[ R **B B B** R R],
[ B R R R B B],
[ R B R R R R]]
我尝试对所有方向的特定颜色进行 BFS,但无法找到解决方案。 有人可以指导我解决问题吗?
【问题讨论】:
-
矩阵的边界是否算作有效环境?比如说,
R覆盖了 3 条边,但第四条边碰到了边界。 -
组只占一行还是可以多行?例如,它必须是直的还是交叉的?缺少细节
-
您可以使用泛洪算法获取 O(m*n) 中的所有组。所有没有元素接触边界的组都是自动解决方案。
标签: algorithm matrix breadth-first-search