【发布时间】:2013-05-28 20:29:11
【问题描述】:
我有一些用 1 和 0 填充的数组。有没有简单的方法可以找到,例如,10 个彼此相邻且值为 1 的字段?
类似:if (array[i ... i+10] = 1) -> 做一些事情?
我知道我可以使用 for 来做到这一点,但我有一个巨大的多重数组,这将非常有帮助。
【问题讨论】:
-
如果您想在不循环的情况下快速查找,也许从一开始就将信息编码到您的数组中。不要使用
1和0存储数组,而是将其存储为一组Sequence对象,这些对象具有Value(将存储1或0)和Length(将指示该值中有多少在一行中重复)。然后跳过你的数组会快得多,一次一个完整的序列。甚至可以将这些序列放入排序的查找表中(可能是Length)。