हमें एक 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