2016-10-26 191 views
-1

问题是这样的:为什么这个代码CodingBat excersise出现超时错误?

给定一个正整数的数组,返回一个包含来自原始数组的第一个偶数的长度为“count”的新数组。原始数组至少包含“数”偶数。

我的解决办法是:

public int[] copyEvens(int[] nums, int count) { 
int counter=0; 
int[] arr = new int[count]; 
while (counter<count) 
{ 
    if (nums[counter]%2==0) 
{ 
    counter++; 
arr[counter]=nums[counter]; 
} 
} 
return arr; 
} 

当我在CodingBat运行它,它超时说。

回答

2

在此代码

while (counter<count) 
{ 
    if (nums[counter]%2==0) 
    { 
    counter++; 
    arr[counter]=nums[counter]; 
    } 
} 

如果nums[counter]评估为假,则counter将不被递增,并且将有一个infinte循环。 counter没有办法超过count,它会一直循环。

+0

谢谢!我非常感谢 –

+0

完成。我也想帮助一些人超越流量。我可以在这里回答问题吗,还是我太初学了? –

相关问题