我试图在不使用ARRAYS的情况下打印给定集合中最小的2个数字的总和....
import java.util.Scanner;
class prog
{
public static void main(String args[])
{
Scanner obj=new Scanner(System.in);
int t=obj.nextInt();
for(int i=1;i<=t;i++)
{
int n=obj.nextInt();
int a=obj.nextInt();
int b=obj.nextInt();
for(int j=1;j<n;j++)
{
int c=obj.nextInt();
if(c<a)
{
b=a;
a=c;
}
else
{
if(c<b)
{
b=c;
}
}
}
System.out.println(a+b);
}
}
}`
在线编译器说它不适合大型测试用例 (大到100000) 为什么这样 ? 帮助
答案 0 :(得分:0)
我认为你试图这样做。
import java.util.Scanner;
class Test {
public static void main(String args[]) {
Scanner obj = new Scanner(System.in);
int t = obj.nextInt();
System.out.println(" " + t);
for (int i = 1; i <= t; i++) {
System.out.println("Enter size of set : ");
int n = obj.nextInt();
System.out.println("Enter yout set : ");
int a = obj.nextInt();
int b = obj.nextInt();
if (n > 2)
for (int j = 2; j <= n; j++) {
int c = obj.nextInt();
if (c < a) {
b = a;
a = c;
} else {
if (c < b) {
b = c;
}
}
}
System.out.println(a + b);
System.out.println("=====================");
}
obj.close();
}
}