Greaf 发表于 2009-9-26 19:58

计算数组分块数量的问题

请问:例如数组
[1 1 2 2 3 3
1 1 2 3 3 3
2 2 2 1 1 3
2 2 1 1 1 1]
上下左右的数如果与它相同的,则计为同一块,现在要怎么计算这个数组总共有几块?
比如上面举例的数组总共就有4块,左上角的1为一块,2为一块,3为一块,右下角的1为一块。

之前想用递归程序去计算的,但运算速度非常慢,得不出答案。但考虑用递推计算的话,思路还没理清。。。请问各位应该如何实现这种计算?谢谢

VibrationMaster 发表于 2009-9-26 21:06

能否不用递归或递推,直接检测边界并数边界。

Greaf 发表于 2009-9-26 21:16

可否具体解释下怎么实现呢?之前有想过检测每个分块的最左边和左右边的位置,之后逐数递推

friendchj 发表于 2009-9-27 10:33

试试blkproc
页: [1]
查看完整版本: 计算数组分块数量的问题