检测2D数组中具有相同值的闭环

问题描述 投票:0回答:1

给出由不同值的元素组成的2D数组,如何检测是否存在由相同值组成的循环?循环定义为具有两个或更多个具有相同值的相邻元素,并且具有相同的起点和终点。

l = [
    ["B", "B", "B", "B", "B"],
    ["B", "G", "G", "G", "B"],
    ["B", "G", "B", "G", "B"],
    ["B", "G", "G", "G", "B"],
    ["B", "B", "B", "B", "B"]
]

这是数组,分别具有两个循环“ B”和“ G”。

arrays graph depth-first-search
1个回答
0
投票

您可以从中心开始,然后向外扩展。最坏的情况是O(n)。我认为这足以解决。

© www.soinside.com 2019 - 2024. All rights reserved.