Rust 在比特向量中查找序列

Rust 在比特向量中查找序列,rust,bitvector,Rust,Bitvector,我有一个大的位向量,我需要找到精确长度的set/unset位序列(即n个连续的set/unset位)。我该怎么做?我已经尝试了Iterators和for循环,但我无法将其封装到通用函数中 更新: 如有要求,请提供更多信息。问题是我还没有找到解决问题的办法 有效地找到序列的位置 把它变成一个普通函数 我的意思是,我最初研究的形式是fn find_序列(v:&[A],value:A,how_number:usize)…。不幸的是,还不能返回迭代器(因为闭包),所以这是一个问题。第二,无法有效地找

我有一个大的位向量,我需要找到精确长度的set/unset位序列(即n个连续的set/unset位)。我该怎么做?我已经尝试了
Iterator
s和
for
循环,但我无法将其封装到通用函数中

更新: 如有要求,请提供更多信息。问题是我还没有找到解决问题的办法

  • 有效地找到序列的位置
  • 把它变成一个普通函数

我的意思是,我最初研究的形式是
fn find_序列(v:&[A],value:A,how_number:usize)…
。不幸的是,还不能返回迭代器(因为闭包),所以这是一个问题。第二,无法有效地找到该职位,是因为我不清楚为了实现我的目标,我必须做些什么。最初,我使用
枚举
返回位置值元组,然后
扫描
以找到序列(即
如果x==val
,更新状态等等)。然后我尝试使用for循环,但很明显,我无法将其转换为通用函数(因为
有多少个
,这不允许为每个位置添加精确数量的if语句,即
x[0]==val
x[1]==val
).

你能分享一下你的尝试吗?我在IRC(AFAIK也是“社区”)上付出了足够的努力。我认为这个问题对于这个网站是可以接受的,如果你不这么认为,请告诉我你认为我应该在帮助中心的页面和段落中添加更多的信息,这会使它偏离主题,或者使它不可接受或不适合,我会编辑它。请参阅(“帮助他人重现问题”)作为我发现的第一件事。请注意,尽管互联网上到处都是乐于助人的人,但我们并不都非常了解彼此或对方说了什么。你在IRC上所说的对数百名开发人员来说是完全无用的,如果没有这个背景,他们将来会发现这个问题。帮助那些开发者和现在帮助你一样重要(甚至更重要)。如果您的问题中包含您尝试过的内容,这将有助于我们回答您的问题,也有助于其他人在将来学习。子字符串搜索(在本例中是一个位字符串,字母表仅为0和1)需要一个真正的算法来提高效率,我怀疑即使只有二进制字母表也是如此。因此,我们可能需要找到一个有趣的算法来解决这个问题,当然一些CS博士已经解决了这个问题。。如果算法已经实现,那么高级别将可用,但它不是。:-)你能分享一下你的尝试吗?我在IRC上付出了足够的努力(AFAIK也是“社区”)。我认为这个问题对于这个网站是可以接受的,如果你不这么认为,请告诉我你认为我应该在帮助中心的页面和段落中添加更多的信息,这会使它偏离主题,或者使它不可接受或不适合,我会编辑它。请参阅(“帮助他人重现问题”)作为我发现的第一件事。请注意,尽管互联网上到处都是乐于助人的人,但我们并不都非常了解彼此或对方说了什么。你在IRC上所说的对数百名开发人员来说是完全无用的,如果没有这个背景,他们将来会发现这个问题。帮助那些开发者和现在帮助你一样重要(甚至更重要)。如果您的问题中包含您尝试过的内容,这将有助于我们回答您的问题,也有助于其他人在将来学习。子字符串搜索(在本例中是一个位字符串,字母表仅为0和1)需要一个真正的算法来提高效率,我怀疑即使只有二进制字母表也是如此。因此,我们可能需要找到一个有趣的算法来解决这个问题,当然一些CS博士已经解决了这个问题。。如果算法已经实现,那么高级别将可用,但它不是。:-)