2016-10-26 185 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

完成。我也想幫助一些人超越流量。我可以在這裏回答問題嗎,還是我太初學了? –

相關問題