কম্পিউটার

জাভাস্ক্রিপ্টে সমান যোগফল সহ সাবাররে জোড়া


আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা শুধুমাত্র আর্গুমেন্ট হিসাবে পূর্ণসংখ্যার অ্যারে নেয়৷

ফাংশনটি নির্ধারণ করা উচিত যে এমন কোন উপায় আছে যা আমরা অ্যারেটিকে দুটি সাবয়ারেতে বিভক্ত করতে পারি যাতে দুটি সাব্যারেতে উপস্থিত উপাদানগুলির যোগফল সমান হয়। উপাদানগুলিকে সাব্যারেতে বিভক্ত করার সময় আমাদের নিশ্চিত করতে হবে যে মূল অ্যারে থেকে কোনও উপাদান অবশিষ্ট নেই৷

যেমন −

যদি ইনপুট অ্যারে −

হয়
const arr = [5, 3, 7, 4, 1, 8, 2, 6];

তারপর আউটপুট −

হওয়া উচিত
const output = true;

কারণ কাঙ্খিত সাবয়ারে হল:[5, 3, 4, 6] এবং [7, 1, 8, 2] উভয়ের যোগফল 18 এর সমান।

উদাহরণ

নিম্নলিখিত কোড -

const arr = [5, 3, 7, 4, 1, 8, 2, 6];
const canPartition = (arr = []) => {
   const sum = arr.reduce((acc, val) => acc + val);
   if (sum % 2 !== 0){
      return false;
   };
   const target = sum / 2;
   const array = new Array(target + 1).fill(false);
   array[0] = true;
   for (const num of arr) {
      if (array[target - num]){
         return true
      };
      for (let i = target; i >= num; i--) {
         array[i] = array[i - num];
      }
   }
   return false;
};
console.log(canPartition(arr));

আউটপুট

নিম্নোক্ত কনসোল আউটপুট -

true

  1. জাভাস্ক্রিপ্ট কনস্ট

  2. জাভাস্ক্রিপ্টে কনস্ট বনাম চলুন।

  3. জাভাস্ক্রিপ্টে সর্বনিম্ন সূচক যোগ সহ সাধারণ উপাদান

  4. জাভাস্ক্রিপ্টে একক পার্থক্য সহ দীর্ঘতম সাবরে