【发布时间】:2020-07-24 22:10:20
【问题描述】:
假设有 100 个二进制值的有序集合。使用 10 的窗口大小,我想知道至少包含 x "1s" 的那些窗口的范围(即开始和结束位置)(其中 x =3,例如)。
> set.seed(123456789)
> full=rep(0,100)
> full[sample(1:100, 15)]=1
> split(full, ceiling(seq_along(full)/10))
$`1`
[1] 0 0 0 0 0 1 0 0 0 0
$`2`
[1] 0 0 1 0 0 0 0 0 0 0
$`3`
[1] 0 0 1 0 1 0 0 0 0 0
$`4`
[1] 0 0 0 0 0 0 0 1 0 0
$`5`
[1] 0 1 0 0 0 0 0 0 1 0
$`6`
[1] 0 0 0 0 0 0 0 0 0 0
$`7`
[1] 0 0 0 0 1 0 1 0 0 1
$`8`
[1] 0 0 0 0 0 1 0 0 0 0
$`9`
[1] 0 0 0 0 0 1 1 0 1 0
$`10`
[1] 0 0 0 0 0 0 0 0 0 1
这就是我要找的东西:
> desired_function(full)
61-70
81-90
【问题讨论】:
-
请使用
set.seed -
@akrun 按要求调整
-
但是,你的输入和我的不一样