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