আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা তিনটি আর্গুমেন্ট নেবে:
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