我有一个数组和一个称为total
的长类型变量,它代表它的总和。java中数组的总和优化
如果数组的长度为N,则它的总和应该做这样的: sum = arr[0] + arr[n-1] + arr[1] + arr[n-2] +...
直到sum >= total
,我要打印元件串在
我的方法的总和: 我已经执行如果n为偶数,则循环至n/2
或如果n为奇数,则循环至n/2 + 1
。
我做这样的事情:
String s = "";
if (n % 2 ==0)
loop = n/2;
else
loop = n/2 + 1;
for(int i=0 ; i < loop ; i++){
sum += arr[i];
s += arr[i] + " ";
if(check(sum , total)==true) break; //this function checks if sum>=total.
sum += arr[n];
s += arr[n] + " ";
if(check(sum , total)==true) break;
n--;
}
System.out.println(s);
实施例:ARR [] = {10,20,30,40,50}和总= 120然后输出应为:
10 50 20 40
我的方法依然在一些测试案例中给出了TLE。我需要比这更优化的解决方案。在这里帮助我。
什么是TLE? “check”如何打破循环?它抛出异常吗? – Eran
TLE超出了时间限制。 –
TLE超出了时间限制,并且不引发异常。 –