【发布时间】:2020-09-14 19:54:41
【问题描述】:
请有人检查并说明为什么此代码无法通过 80% 条件。
这个问题出现在 CodeChef 上,问题代码为 TREE2。这是初学者部分的问题。
有 2 个任务。使用以下代码,我能够通过 20% 的任务,但我无法通过包含 80% 的第二个任务。
请查看并提出问题所在。
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Codechef
{
public static void main (String[] args) throws java.lang.Exception
{
int t,n,h;
Scanner s=new Scanner(System.in);
t=s.nextInt();
while(t-- > 0)
{ h=0;
n=s.nextInt();
int [] arr=new int [n];
for(int i=0;i<n;i++)
arr[i]=s.nextInt();
Arrays.sort(arr);
while(true)
{
if(arr[n-1]==0)
break;
h++;
if(arr[0]==arr[n-1])
break;
for(int i=n-2;i>=0;i--)
{
if(arr[i]!=arr[n-1])
{
for(int j=i;j<n;j++)
arr[j]=arr[i];
break;
}
}
}
System.out.println(h);
}
}
}
【问题讨论】:
-
您好,欢迎您。我认为如果我们在比赛中给你帮助是不公平的。如果您需要任何与编程或特定问题相关的一般帮助,请随时回来。在处理这些问题时,我想到的一些事情是:时间不足、内存或变量溢出。