-2

我有一个 3 级嵌套循环。内部的值取决于直接上面的值。性能现在真的是一个杀手 O(n*n*n)。此外,直接循环中也可能有某些 out.println ,需要打印。如何用递归替换,或者有没有其他方法可以避免嵌套循环并提高性能。

示例代码:

String[] strArray = getOuterArray();
for(String x : strArray){
        String[] internalStrArray = x.getArray();
        System.out.println("I am in first");
    for(String x: internalStrArray){
        String[] internalinStrArray = x.getArray();
        System.out.println("I am in second");
        for(String x: internalinStrArray){
            System.out.println("I am in third "+ x);
        }
    }
}

public String[] getOuterArray(){
}

public String[] getArray(){
}
4

1 回答 1

1

递归不会比循环更快。事实上,由于将函数调用压入堆栈,它很可能会更慢。

现在你的代码没有意义,你在循环中打印出“我在第一/第二/第三”。您实际上并没有在算术上做任何可以改进的事情。我唯一的主要建议是不要命名所有变量 x,这非常令人困惑。

只要你有这三个循环并且想要完成所有的打印,没有什么可以让它更快。

于 2013-09-20T23:09:52.353 回答