一对JavaScript总和最低的数组的(相邻)元素

我们需要编写一个包含数字数组的JavaScript函数。该函数应返回原始数组中两个相邻元素的子数组,其总和在数组所有相邻对中是最小的。

如果数组的长度小于2,则应返回boolean false。

例如,如果输入数组为-

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

在这里,对[-23,1]的和为-22,这是该数组中任何两个相邻元素中最小的,因此该函数应返回[-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]

以上是 一对JavaScript总和最低的数组的(相邻)元素 的全部内容, 来源链接: utcz.com/z/356432.html

回到顶部