কম্পিউটার

অ্যারের সংলগ্ন উপাদান যার যোগফল 0-এর কাছাকাছি - জাভাস্ক্রিপ্ট


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

  1. জাভাস্ক্রিপ্টে এর যোগফলকে বৈচিত্র্যময় করতে অ্যারেতে উপাদান যুক্ত করা হচ্ছে

  2. জাভাস্ক্রিপ্টে অ্যারে উপাদানগুলিকে পুনর্বিন্যাস করা

  3. জাভাস্ক্রিপ্টে একটি অ্যারের উপাদান পুনর্বিন্যাস করা

  4. জাভাস্ক্রিপ্ট ব্যবহার করে দ্বি-মাত্রিক অ্যারের উপাদানগুলির পর্যায়ক্রমে যোগফল