हमें एक JavaScript फ़ंक्शन लिखना है जो तीन तर्क लेता है, अर्थात् -
arr --> पूर्णांकों की एक सरणी
m --> एक धनात्मक पूर्णांक
n --> एक धनात्मक पूर्णांक
हमारे फ़ंक्शन का कार्य यह पता लगाना है कि क्या दो ऐसे तत्व मौजूद हैं (आइए उन्हें a1 और a2 कहते हैं) जैसे कि -
- a1 और a2 के बीच का निरपेक्ष अंतर अधिकतम m है
- a1 और a2 के सूचकांकों के बीच का निरपेक्ष अंतर अधिकतम n है
उदाहरण
निम्नलिखित कोड देखें:
const arr = [1, 2, 3, 1, 7, 8];
const findSpecialElements = (arr = [], m, n) => {
const map = arr
.map((el, ind) => ({ el, ind }))
.sort((a, b) => a.el - b.el);
let left = 0;
let right = 1;
while (right < map.length) {
const diff = Math.abs(map[right].el - map[left].el);
const range = Math.abs(map[right].ind - map[left].ind);
if (diff <= n && range <= m) {
return true;
} else if (diff > n) {
left++;
} else if (range > m) {
right++;
};
if (left === right) {
right++;
};
};
return false;
};
console.log(findSpecialElements(arr, 3, 0));
आउटपुट
कंसोल आउटपुट निम्नलिखित है -
true