Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptでnより少し小さい2つの要素の合計


最初の引数として数値の配列arrを取り、2番目の引数として単一の数値numを受け取るJavaScript関数を作成する必要があります。

次に、関数は、合計が配列内で最大であるが、数値numよりもわずかに小さい2つのそのような数値を見つける必要があります。合計がnum未満のそのような数値が2つ存在しない場合、関数は-1を返す必要があります。

例-

入力配列と数値が-

の場合
const arr = [34, 75, 33, 23, 1, 24, 54, 8];
const num = 60;

その場合、出力は-

になります。
const output = 58;

34+24が60未満の最大の合計であるため

このためのコードは-

になります
const arr = [34, 75, 33, 23, 1, 24, 54, 8];
const num = 60;
const lessSum = (arr = [], num = 1) => {
   arr.sort((a, b) => a - b);
   let max = -1;
   let i = 0;
   let j = arr.length - 1;
   while(i < j){
      let sum = arr[i] + arr[j];
      if(sum < num){
         max = Math.max(max,sum);
         i++;
      }else{
         j--;
      };
   };
   return max;
};
console.log(lessSum(arr, num));

出力

そして、コンソールの出力は-

になります
58

  1. JavaScriptのBSTの2つの合計

    問題: 最初の引数と2番目の引数として、2つの二分探索木のルートであるroot1とroot2をそれぞれ取り込むJavaScript関数を作成する必要があります。関数の3番目の引数はnumber、targetです。 この関数は、最初のツリーにノードがあり、2番目のツリーにノードがあり、その値の合計が特定の整数ターゲットになる場合にのみTrueを返し、それ以外の場合はfalseを返す必要があります。 たとえば、関数への入力が-の場合 const target = 23; BST その場合、出力は-になります。 const output = true; 出力の説明: 最初のツリーに

  2. PythonでK未満の2つの合計

    整数の配列Aがあり、別の整数Kが指定されているとします。 A [i] + A [j] =SかつS