【发布时间】:2021-08-03 15:34:32
【问题描述】:
给定两个向量vecA 和vecB,我想找到最小的n 使得
all(vecB %in% vecA[1:n])
是TRUE。
这是一个紧密的内循环,所以速度会很好。显然我可以做到
n <- NA_integer_
for (i in seq_along(vecA)) {
if (all(vecB %in% vecA[1:i])) {
n <- i
break
}
}
但是有更快/更优雅的方法吗?
您可以使用一件事:vecB 始终是1:M 形式的序列。
这是一个n 应该等于 5 的示例:
vecB <- 1:3
vecA <- c(1, 2, 2, 1, 3, 2)
【问题讨论】: