我正在通過前兩個測試用例,但由於超時錯誤,所有其他測試用例都失敗了。你能告訴我我做錯了什麼嗎?爲什麼我在這裏「因超時而終止」?
鏈接 -https://www.hackerrank.com/challenges/java-1d-array
我的代碼:
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Solution {
public static void main(String[] args) {
/* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
Scanner scan = new Scanner(System.in);
int T,n,m;
int[] A = new int[5000];
int a = 0;
int flag=1;
T = scan.nextInt();
if((T>=1)&&(T<=5000))
{
while(T!=0)
{
n = scan.nextInt();
m = scan.nextInt();
if(((n>=2)&&(n<=100))&&((m>=0)&&(m<=100)))
{
for(int i=0;i<n;i++)
{
A[i]=scan.nextInt();
}
for(int i=n;i<n+m;i++)
{
A[i]=0;
}
while((a>=0)&&(a<n)&&(flag==1))
{
if(A[a+1]==0)
{
a+=1;
}
else if(A[a+m]==0)
{
a+=m;
}
else if(A[a+m-1]==0)
{
a-=1;
}
else
{
flag=0;
}
}
if(a>=n)
{
System.out.println("YES");
}
else if(flag==0||a<0)
{
System.out.println("NO");
flag=1;
}
T--;
a=0;
}
}
}
}
}
因爲它需要太長時間? – Andreas
「由於超時而終止」僅表示您的代碼未在HackerRank的分配執行時間內完成。 – shmosel
嘿!謝謝!我知道錯誤意味着什麼,但我該如何解決它?請幫忙。我正在學習現在調試代碼。就像之前的用戶所建議的那樣。 – Swaggerboy