【发布时间】:2018-10-14 23:49:43
【问题描述】:
这是在一次采访中问我的。给定一个字符串,我必须编写程序来查找长度为 k 的所有排列/组合。 所以对于 string = "cra" 和 length = 2 需要在向量中返回以下内容: "ca","cr","rc","ra","ac","ar"。不允许重复。
有什么建议吗?
我想出的是使用重复。基本上循环遍历所有字符并将其添加到序列中。当长度与给定长度匹配时,它将附加到最终向量。
【问题讨论】:
-
对它进行排序,然后在循环中为每个所需长度的子字符串调用
std::next_permutation -
您想要排列还是组合?有区别。
-
所有的排列都可以由这些字母组成。
标签: c++ arrays string algorithm