小编Esd*_*pez的帖子

理解大O符号 - 破解编码面试

我需要帮助理解作者如何在Big O章节中得到问题11的答案.

问题是这样的:

以下代码打印长度为k的所有字符串,其中字符按排序顺序排列.它通过生成长度为k的所有字符串然后检查每个字符串是否已排序来完成此操作.它的运行时间是什么?

public static int numChars = 26;

public static void printSortedStrings(int remaining) {
    printSortedStrings(remaining, "");
}

public static void printSortedStrings(int remaining, String prefix) {
    if (remaining == 0) {
        if (isInOrder(prefix)) {
            System.out.println(prefix); // Printing the string
        }
    } else {
        for (int i = 0; i < numChars; i++) {
            char c = ithLetter(i);
            printSortedStrings(remaining - 1, prefix + c);
        }
    }
}

public static boolean isInOrder(String s) {
    for (int i = 1; i < …
Run Code Online (Sandbox Code Playgroud)

java sorting algorithm big-o

15
推荐指数
1
解决办法
1359
查看次数

标签 统计

algorithm ×1

big-o ×1

java ×1

sorting ×1