使用 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