使用 JavaScript 判断数组中是否存在一对值的平均值等于目标平均值
我们需要编写一个 JavaScript 函数,该函数以排序整数数组和目标平均值作为第一个和第二个参数。
该函数应确定数组中是否存在一对值的平均值等于目标平均值。
有一种解决方案具有 O(1) 的额外空间复杂度和 O(n) 的时间复杂度。由于数组已排序,因此使用两个索引是有意义的:一个从头到尾(例如 y),另一个从数组的尾到头(例如 x)。
示例
代码如下:
const arr = [1, 2, 4, 6, 7, 9, 11];
const averagePair = (arr = [], target = 1) => {
let x = arr.length − 1;
for (let y = 0; y < x; y++) {
while (y < x && arr[x] + arr[y] > 2*target) {
x−−;
};
if (x !== y && arr[x] + arr[y] === 2 * target) {
return true;
};
};
return false;
};
console.log(averagePair(arr, 6.5));输出
控制台输出如下:
true
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP