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

合計が最小のJavaScriptである配列の(隣接する)要素のペア


数値の配列を受け取るJavaScript関数を作成する必要があります。関数は、元の配列から2つの隣接する要素のサブ配列を返す必要があります。その合計は、配列のすべての隣接するペアの中で最小です。

配列の長さが2未満の場合は、ブール値falseを返す必要があります。

たとえば、入力配列が-

の場合
const arr = [41, 44, -12, 13, -23, 1, 5, -4, 2, 2];

ここで、ペア[-23、1]の合計は-22であり、配列の隣接する2つの要素の中で最小であるため、関数は[-23、1]

を返す必要があります。

このためのコードは-

になります
const arr = [41, 44, -12, 13, -23, 1, 5, -4, 2, 2];
const leastSum = arr => {
   if(arr.length <= 2){
      return false;
   };
   const creds = arr.reduce((acc, val, ind) => {
      let { smallest, startIndex } = acc;
      const next = arr[ind+1] ;
      if(!next){
         return acc;
      }
      const sum = val + next;
      if(sum < smallest){
         startIndex = ind;
         smallest = sum;
      };
      return { startIndex, smallest };
   }, {
      smallest: Infinity,
      startIndex: -1
   });
   const { startIndex } = creds;
   return [arr[startIndex], arr[startIndex + 1]];
};
console.log(leastSum(arr));

以下はコンソールでの出力です-

[-23, 1]

  1. JavaScriptで配列要素を再配置する

    問題 リテラルの配列arrを最初で唯一の引数として受け取るJavaScript関数。この配列には、隣接して配置されたいくつかの重複が含まれています。 この関数は、配列内の2つの要素が等しくならないように、配列の要素を再配置する必要があります。このような配置の可能な方法が少なくとも1つ存在することが保証されている場合、関数は再配置された配列を返す必要があります。 たとえば、関数への入力が-の場合 const arr = [7, 7, 7, 8, 8, 8]; その場合、出力は-になります。 const output = [7, 8, 7, 8, 7, 8]; 出力の説明: 他の正しい可

  2. JavaScriptを使用した2次元配列の要素の交互の合計

    問題 同じ数の行と列を含む数のmXnオーダーの2次元配列を受け取るJavaScript関数を作成する必要があります。 この配列の場合、関数は次の合計をカウントして返す必要があります- $ \ sum_ {i =1} ^ m \ sum_ {j =1} ^ n(-1)^ {i + j} a_ {ij} $ 例 以下はコードです- const arr = [    [4, 6, 3],    [1, 8, 7],    [2, 5, 9] ]; const alternateSum = (arr = []) => { &n