1

我有一个大的 BitVec,我需要找到精确长度的设置/未设置位序列(即 n 个连续设置/未设置位)。我怎样才能做到这一点?我已经尝试过Iterators 和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] == valx[1] == val.. .)。

4

0 回答 0