首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java中字符串组合的优化

Java中字符串组合的优化
EN

Stack Overflow用户
提问于 2014-10-23 19:42:17
回答 2查看 125关注 0票数 0

我需要从给定的元素中获得长度为k的字符串的所有组合。例如,对于

代码语言:javascript
复制
char[] elements = {'a', 'b', 'c'}
k = 4

产出应是: aaaa、aaab、.、cccc。现在我有了下面的代码,它给出了适当的结果,但速度不够快。我的代码可以改进什么?

代码语言:javascript
复制
public static ArrayList<String> printAllKLength(char[] elements, int nrElements, int patternLength) {
    ArrayList<String> patternVariations = new ArrayList<String>();
    patternVariations = printAllKLengthRec(elements, "", nrElements, patternLength, patternVariations);

    return patternVariations;
}

public static ArrayList<String> printAllKLengthRec(char[] elements, String prefix, int nrElements, int patternLength, ArrayList<String> patternVariations) {

    if (patternLength == 0) {
        patternVariations.add(prefix);
        //System.out.println(prefix);
        return patternVariations;
    }

    for (int i = 0; i < nrElements; ++i) {
        String newPrefix = prefix + elements[i]; 
        printAllKLengthRec(elements, newPrefix, nrElements, patternLength - 1, patternVariations); 
    }
    return patternVariations;
}

谢谢!

EN

Stack Overflow用户

回答已采纳

发布于 2014-10-23 20:11:08

试着不重复.请看这里的解释。

recursion versus iteration

我希望这对你有帮助

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26536122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档