কম্পিউটার

জাভাস্ক্রিপ্টে অ্যারের যোগফলকে বিভাজ্য করতে ক্ষুদ্রতম সাবয়ারে অপসারণ করা হচ্ছে


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

ফাংশনটি এই সেকেন্ড আর্গুমেন্ট দ্বারা নির্দিষ্ট সংখ্যা দ্বারা বিভাজ্য করার জন্য মূল অ্যারে থেকে ক্ষুদ্রতম সাবয়ারের দৈর্ঘ্যটি বের করে ফিরিয়ে আনতে হবে।

যেমন −

যদি ইনপুট হয় −

const arr = [3, 8, 2, 6];
const num = 9;

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

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

কারণ যে সাবয়ারেটি মুছে ফেলা দরকার তা হল [8, 2]

উদাহরণ

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

const arr = [3, 8, 2, 6];
const num = 9;
const minimumDeletion = (arr = [], num) => {
   const diff = arr.reduce((a, b) => a + b) % num;
   let res = diff == 0 ? 0 : arr.length;
   for (let i = 0, sum = 0, map = {0: -1}; i < arr.length; i++) {
      sum += arr[i];
      const target = (sum % num - diff + num) % num;
      if (map[target] != undefined) {
         res = Math.min(res, i - map[target]);
      };
      map[sum % num] = i;
   };
   return res == arr.length ? -1 : res;
};
console.log(minimumDeletion(arr, num));

আউটপুট

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

2

  1. জাভাস্ক্রিপ্টে অ্যারের মধ্যে ক্ষুদ্রতম সংখ্যার অঙ্কের যোগফল পরীক্ষা করা হচ্ছে

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

  3. জাভাস্ক্রিপ্টের একটি অ্যারেতে উপস্থিত সমস্ত ইতিবাচকের সমষ্টি

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