আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা সংখ্যার অ্যারে নেয় এবং মূল অ্যারে থেকে দুটি উপাদানের একটি সাবয়ারে প্রদান করে যার যোগফল 0 এর কাছাকাছি।
যদি অ্যারের দৈর্ঘ্য 2 এর কম হয়, তাহলে আমাদের পুরো অ্যারেটি ফেরত দেওয়া উচিত।
উদাহরণস্বরূপ:যদি ইনপুট অ্যারে −
হয়const arr = [4, 4, 12, 3, 3, 1, 5, -4, 2, 2];
এখানে, জোড়ার যোগফল [5, -4] হল 1 যা অ্যারের যেকোনো দুটি সংলগ্ন উপাদানের জন্য 0 নিকটতম, তাই আমাদের [5, -4] ফেরত দেওয়া উচিত।
উদাহরণ
নিম্নলিখিত কোড -
const arr = [4, 4, 12, 3, 3, 1, 5, -4, 2, 2]; const closestElements = (arr, sum) => { if(arr.length <= 2){ return arr; } const creds = arr.reduce((acc, val, ind) => { let { closest, startIndex } = acc; const next = arr[ind+1]; if(!next){ return acc; } const diff = Math.abs(sum - (val + next)); if(diff < closest){ startIndex = ind; closest = diff; }; return { startIndex, closest }; }, { closest: Infinity, startIndex: -1 }); const { startIndex: s } = creds; return [arr[s], arr[s+1]]; }; console.log(closestElements(arr, 1));
আউটপুট
নিম্নোক্ত কনসোলে আউটপুট −
[5, -4]