假设我有一个行*列网格,网格上的每个节点都有一个整数(状态)值。
state[NUMBER_OF_ROWS][NUMBER_OF_COLUMNS]
如果值
state[row][0] == state[row][NUMBER_OF_COLUMNS -1]
我想检查是否存在仅由这两点相同状态组成的“路径”..
通过路径,我的意思是左侧、右侧、底部或顶部的状态与原始状态相同。
我不确定它是否重要,但可以说状态是二进制的(# 或 -)所以如果我正在检查状态 ==“-”的路径,如果状态到 N,我们可以继续路径, E,S,W 也是 == "-"
结束行必须等于开始行。
成功案例:
|# # # # #|
|# # # # #|
|# # # # #|
|- # # # #|
|- - - - -|
或者
|# # # # #|
|# # # - #|
|# - - - #|
|- - # - -|
|# # # - -|
或者
|# # # # #|
|# # # - #|
|# # # - #|
|- - - - #|
|- # # - -|
失败的例子:
|# # # # #|
|# # # # #|
|# # # # #|
|- - - - #|
|# # - - -|
或者
|# # # # #|
|# # # - #|
|# # # - #|
|# - - - #|
|- # # - #|
或者
|# # # # #|
|# # - # #|
|# # # # #|
|# - # - #|
|- # - # -|
会失败。
我该怎么做呢?我在 Objective C 中编写代码,但帮助我理解这些步骤的伪代码就足够了。
除了检查路径是否存在 BOOL 之外,我还想返回路径中所有网格坐标的数组。
这很容易实现还是我有点过头了?