在2D数组中查找连续的块

时间:2011-06-09 16:31:10

标签: arrays search 2d

假设您在表单中有一个数组:

[ 
  [2, 2, 3, 4],
  [2, 3, 5, 5],
  [2, 2, 2, 5],
  [3, 2, 2, 4],
]

并希望找到数字连续块的坐标,在这种情况下:

[
  # the 2s:
  [(0,0), (0,1), (1,0), (2,0), (2,1), (2,2), (3,1), (3,2)],
  # and the 5s:
  [(1,2), (1,3), (2,3)]
]
你会怎么做?

1 个答案:

答案 0 :(得分:3)

您可以在每个单元格上尝试flood fill算法。 (注意:在填充过程中标志已处理过的单元格不会多次考虑它们)