Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 执行超时(1600ms)如何优化此代码以更快地运行?_Java - Fatal编程技术网

Java 执行超时(1600ms)如何优化此代码以更快地运行?

Java 执行超时(1600ms)如何优化此代码以更快地运行?,java,Java,我正在研究一个关于Codewars的简单kata,其中我的任务是创建两个方法:一个是接收字符串进行解密,一个是int以确定字符串被加密的次数,另一个是接收加密字符串和int以确定字符串需要被解密的次数 加密方法的工作原理是将字符串中奇数索引处的所有字符连接起来,然后将偶数索引处的所有字符连接起来 下面是一个例子: //返回“hsi etTi sats!” println(加密(“这是一个测试!”,1)); //返回“这是一个测试!” println(解密(加密(“这是一个测试!”,1),1));

我正在研究一个关于Codewars的简单kata,其中我的任务是创建两个方法:一个是接收字符串进行解密,一个是int以确定字符串被加密的次数,另一个是接收加密字符串和int以确定字符串需要被解密的次数

加密方法的工作原理是将字符串中奇数索引处的所有字符连接起来,然后将偶数索引处的所有字符连接起来

下面是一个例子:

//返回“hsi etTi sats!”
println(加密(“这是一个测试!”,1));
//返回“这是一个测试!”
println(解密(加密(“这是一个测试!”,1),1));
我终于找到了一个在IntelliJ中有效的解决方案,但当我在kata中尝试时,它超时了。我希望得到一些关于如何提高代码效率的建议

公共静态字符串加密(最终字符串文本,最终整数n){
StringBuilder StringBuilder=新的StringBuilder();
int i;
字符串newText=文本;
int numTimes=0;
while(numTimes!=n){
对于(i=0;i

在while循环中,您在
newText.length()
上执行了两个完整的for循环,即使两个循环中的每秒钟索引都是“不执行任何操作”。请记住,即使循环的标准是for(int i=0;i3个部分都可以自定义。@Kayaman希望为(i=1;i和(i=0;i效果更好,因为循环不会遍历
newText
中的每个字符,而是只关注其他字符?好了,这将使该部分的复杂性减半。这是否足够是另一回事,但一个基本规则是“最快的代码是永远不会运行的代码”,因此避免一半的
i%2
检查肯定不是个坏主意。