
等差数列
等差数列(AP)是一种数列,其任意两个数之差相等 连续的数字是一个常数值(也称为公差)。
例如,1、2、3、4、5、6...是一个等差数列,其公差等于1(2-1)。
问题
我们需要编写一个JavaScript函数,将一个整数数组arr作为第一个参数传入 并且唯一的参数。
我们函数的任务是返回大小为3的等差数列的数量 可能从那个列表中选择。在每个进程中,元素之间的差异必须是 相同。我们保证输入的数组将按照递增顺序排序。例如,如果 函数的输入为
例如,如果函数的输入为 −
输入
const arr = [1, 2, 3, 5, 7, 9];
输出
立即学习“Java免费学习笔记(深入)”;
云点滴客户解决方案是针对中小企业量身制定的具有简单易用、功能强大、永久免费使用、终身升级维护的智能化客户解决方案。依托功能强大、安全稳定的阿里云平 台,性价比高、扩展性好、安全性高、稳定性好。高内聚低耦合的模块化设计,使得每个模块最大限度的满足需求,相关模块的组合能满足用户的一系列要求。简单 易用的云备份使得用户随时随地简单、安全、可靠的备份客户信息。功能强大的报表统计使得用户大数据分析变的简单,
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










