私は配列と、その合計を表すtotal
という長い型の変数を持っています。 sum >= total
まで sum = arr[0] + arr[n-1] + arr[1] + arr[n-2] +...
と私はサムの要素Javaの配列の合計での最適化
私のアプローチの文字列を出力する必要があります:
配列は、長さであるnは、それの合計は次のように行われるべきである場合 私が実行しています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);
例:[] = {10、20、30、40、50} ARRと合計= 120、出力は次のようになります。
10 50 20 40
私のアプローチstillsは、いくつかのテストケースでTLEを与えます。私はこれよりも最適化されたソリューションが必要です。私を助けてください。
TLEとは何ですか?そして、 'check'はどのようにループを壊していますか?それは例外を投げていますか? – Eran
TLEは期限を超えています。 –
TLEは時間制限を超えており、例外をスローしません。 –