给出由不同值的元素组成的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”。
您可以从中心开始,然后向外扩展。最坏的情况是O(n)。我认为这足以解决。