কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে n সংখ্যক সমান সম বিশিষ্ট সাবঅ্যারে বের করা


আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্ট হিসেবে ইন্টিজারগুলোর একটি অ্যারে এবং دوم আর্গুমেন্ট হিসেবে একটি ইন্টিজার নেবে।

ফাংশনটি যাচাই করবে যে মূল অ্যারেতে থেকে n (দ্বিতীয় আর্গুমেন্ট) সংখ্যক সাবঅ্যারে তৈরি করা যায় কিনা যাতে সকল সাবঅ্যারেতে সমান সম থাকে।

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

যদি ইনপুটগুলো হয়:

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

আউটপুট হবে true কারণ সাবঅ্যারেগুলো: [5], [1, 4], [2, 3], [2, 3] যেতে পারে যেগুলোর যোগফল ৫।

উদাহরণ

নিচে কোডটি দেওয়া হলো:

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টি সাব-অ্যারেতে সমান সম্ফল দিয়ে পার্টিশন করা সম্ভব কিনা তা যাচাই করা