কম্পিউটার

জাভাস্ক্রিপ্টে সমান যোগফল সহ n সাবঅ্যারে খোঁজা


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

ফাংশনটি পরীক্ষা করে দেখতে হবে যে আমরা থিওরিজিনাল অ্যারে থেকে n (দ্বিতীয় আর্গুমেন্ট) সাবয়ারে তৈরি করতে পারি কি না যাতে সমস্ত সাবয়ারের সমান যোগফল থাকে৷

উদাহরণস্বরূপ -

যদি ইনপুট −

হয়
const arr = [4, 3, 2, 3, 5, 2, 1];
const num = 4;

আউটপুটটি সত্য হওয়া উচিত কারণ সাবয়ারেগুলি হল:[5], [1, 4], [2, 3], [2, 3] সকলের সমষ্টি 5 এর সমান।

উদাহরণ

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

const arr = [4, 3, 2, 3, 5, 2, 1];
const num = 4;
const canFormSubarray = (arr = [], num) => {
   const total = arr.reduce((sum, num) => sum + num, 0);

   if (total % num !== 0) {
      return false;
   }
   const target = total / num;
   const visited = new Array(arr.length).fill(false);
   const canPartition = (start, numberOfSubsets, currentSum) => {
      if (numberOfSubsets === 1) {
         return true;
      }
      if (currentSum === target) {
         return canPartition(0, numberOfSubsets - 1, 0);
      };
      for (let i = start; i < arr.length; i++) {
         if (!visited[i]) {
            visited[i] = true;
            if (canPartition(i + 1, numberOfSubsets, currentSum + arr[i])) {
               return true;
            }
            visited[i] = false;
         };
      };
      return false;
   };
   return canPartition(0, num, 0);
};
console.log(canFormSubarray(arr, num));

আউটপুট

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

true

  1. এমনকি জাভাস্ক্রিপ্টে সূচক যোগফল

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

  3. জাভাস্ক্রিপ্টে পছন্দসই যোগফল সহ বাইনারি সাব্যারে

  4. পাইথনে সমান যোগফলের সাথে k সাবয়ারেতে পার্টিশন করা সম্ভব কিনা তা পরীক্ষা করুন