在 JavaScript 中计算数组中可能的 AP

算术级数

算术级数 (AP) 是一个数字序列,使得任意两个连续数字的差是一个常数值(也称为公差)。

例如,1, 2, 3, 4, 5, 6,... 是一个AP,其公差等于1 (2 -1)。

问题

我们需要编写一个 JavaScript 函数,它接受一个整数数组 arr 作为第一个也是唯一的参数。

我们函数的任务是返回该列表中可能的大小为 3 的等差数列的数量。在每个进程中,元素之间的差异必须相同。我们保证输入数组将按升序排序。例如,如果函数的输入是

例如,如果函数的输入是 -

输入

const arr = [1, 2, 3, 5, 7, 9];

输出

const output = 5;

输出说明

因为所需的 AP 是 -

[1, 2, 3], [1, 3, 5], [1, 5, 9], [3, 5, 7] and [5, 7, 9]

示例

以下是代码 -

const arr = [1, 2, 3, 5, 7, 9];

const countAP = (arr = []) => {

   let i, j, k;

   let { length: len } = arr;

   let count = 0;

   for (i = 0; i < len - 2; i++){

      for (k = i + 2; k < len; k++){

         let temp = arr[i] + arr[k];

         let div = temp / 2;

         if ((div * 2) == temp){

            for (j = i + 1; j < k; j++){

               if (arr[j] == div){

                  count += 1;

               }

            }

         }

      }

   }

   return count;

};

console.log(countAP(arr));

输出结果
5

以上是 在 JavaScript 中计算数组中可能的 AP 的全部内容, 来源链接: utcz.com/z/351668.html

回到顶部