在BitVec中查找序列

时间:2015-09-29 15:30:16

标签: rust bitvector

我有一个很大的BitVec,我需要找到精确长度的set / unset位序列(即n个连续的set / unset位)。我怎样才能做到这一点?我尝试了Iteratorfor循环,但我无法将其包装成一般函数。

更新: 根据要求,更多信息。问题是我还没找到办法

  • 有效地找到序列的位置
  • 将其变为一般功能

我的意思是我最初研究的是fn find_sequence<A: PartialEq<A>>(v: &[A], value: A, how_many: usize) ...形式。不幸的是,一个人不能返回迭代器(因为闭包),但是,这是一个问题。第二个,无法有效地找到位置,是我不清楚为了实现我想要的东西我必须执行什么。最初,我使用enumerate返回位置值元组,然后scan以便能够找到序列(即if x == val,更新状态等)。然后我尝试使用for循环,但我很清楚,我无法将其转换为一般函数(因为how_many,这将不允许为每个位置添加精确数量的if语句,即x[0] == valx[1] == val ...)。

0 个答案:

没有答案