【发布时间】:2018-03-08 18:19:18
【问题描述】:
1.我想从给定单词生成字符组合,每个字母连续重复最多 2 次,并且至少 1.结果单词的长度不等。例如来自
"cat"
到
"cat", "catt", "caat", "caatt", "ccat", "ccatt", "ccaat", "ccaatt"
必需的函数接受一个长度为 n 的单词并生成 2^n 个长度不等的单词。它几乎类似于具有 n 长度的二进制数字给出 2^n 组合。例如,一个 3 位二进制数给出
000 001 010 011 100 101 110 111
组合,其中 0=t 和 1=tt。
2.即使给定的单词有字母重复,同样的功能也应该限制结果序列最多连续重复 2 个字符。例如
"catt"
到
"catt" "ccatt" "caatt" "ccaatt"
我试过这样的
pos=expand.grid(l1=c(1,11),l2=c(2,22),l3=c(3,33))
result=chartr('123','cat',paste0(pos[,1],pos[,2],pos[,3]))
#[1] "cat" "ccat" "caat" "ccaat" "catt" "ccatt" "caatt" "ccaatt"
它给出了正确的序列,但我坚持将它推广到任何不同长度的给定单词。
谢谢。
【问题讨论】:
-
编辑您的问题并将您的代码放入其中。
标签: r regex string combinations seq