Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Xác định cặp giá trị có trung bình bằng mục tiêu trong mảng đã sắp xếp - JavaScript

Viết hàm JavaScript nhận vào mảng số nguyên đã sắp xếp và giá trị trung bình mục tiêu (target average). Hàm xác định xem có cặp giá trị nào trong mảng có trung bình bằng target hay không.

Giải pháp O(1) không gian và O(n) thời gian: dùng hai con trỏ, một từ đầu (y), một từ cuối (x) vì mảng đã sắp xếp.

Ví dụ

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));

Kết quả

Kết quả in ra console:

true