세 개의 인수, 즉 -
를 취하는 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