【发布时间】:2020-01-17 11:01:54
【问题描述】:
给定一组 n 个唯一有序字符,
如何找到可以连接到原始有序字符集(在 R 中)的所有子字符串组合?
例如,对于 n=5,使用以 a 开头的字母字符,输入(作为字符元素)和期望的输出(作为字符元素的向量列表)如下所示,
输入:
ordered.chars <- "abcde"
期望的输出:
ord.substr.list <- list(
c("a","b","c","d","e"),
c("ab","c","d","e"),
c("ab","cd","e"),
c("ab","c","de"),
c("a","bc","d","e"),
c("a","bc","de"),
c("a","b","cd","e"),
c("a","b","c","de"),
c("abc","d","e"),
c("abc","de"),
c("a","bcd","e"),
c("a","b","cde"),
c("ab","cde"),
c("abcd","e"),
c("a","bcde"))
测试所有列出的字符元素向量连接到原始字符元素的条件:
all(unlist(lapply(ord.substr.list, function(x) paste(x, collapse=""))) %in% ordered.chars)
我的 google/stackoverflow 搜索导致 combn(),这在类似情况下很有用,但在这里似乎没有明显帮助。
【问题讨论】:
标签: r string substring combinatorics