세 개의 인수, 즉 -
를 취하는 JavaScript 함수를 작성해야 합니다.arr --> an array of integers m --> a positive integer n --> a positive integer
우리 함수의 임무는 다음과 같은 두 개의 요소가 존재하는지 알아내는 것입니다.
-
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