কম্পিউটার

জাভাস্ক্রিপ্টে কিছু সংখ্যার সমান পরম পার্থক্য সহ দীর্ঘতম সাবাররে


আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্ট হিসাবে সংখ্যার একটি অ্যারে নেয়, আসুন বলি arr, এবং একটি সংখ্যা, দ্বিতীয় আর্গুমেন্ট হিসাবে num বলি। ফাংশনটি দীর্ঘতম সাবয়ারের (সংলগ্ন বা অ-সংলগ্ন) দৈর্ঘ্য খুঁজে বের করে ফেরত দিতে হবে যার প্রতিটি জোড়ায় সংখ্যার কম বা সমান পরম পার্থক্য রয়েছে৷

উদাহরণস্বরূপ, যদি ইনপুট অ্যারে এবং সংখ্যা −

হয়
const arr = [7, 9, 8, 6, 6, 3];
const num = 1;

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

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

কারণ কাঙ্খিত সাবয়ারে হল [7, 6, 6]

উদাহরণ

এর জন্য কোড হবে −

const arr = [7, 9, 8, 6, 6, 3];
const maximumSubarray = (arr = [], num = 1) => {
   if(!arr.length){
      return 0;
   };
   const maximum = arr.reduce((acc, val) => Math.max(acc, val));
   const buckets = new Array(maximum + 1);
   buckets.fill(0);
   const { length } = arr;
   for(let i=0; i< length; i++){
      buckets[arr[i]] += num;
   };
   let max = 0;
   for(let j=1; j< maximum + 1; j++) {
      let curr = buckets[j];
      let prev = buckets[j - 1];
      if(prev != 0 && prev + curr > max) {
         max = prev + curr;
      };
   };
   return max;
};
console.log(maximumSubarray(arr));

আউটপুট

এবং কনসোলে আউটপুট হবে −

3

  1. JavaScript Number.MAX_VALUE এবং Number.MIN_VALUE উদাহরণ সহ

  2. জাভাস্ক্রিপ্টে দীর্ঘতম ক্রমবর্ধমান ক্রমগুলির মোট সংখ্যা৷

  3. C++ এ 0 এবং 1 সেকেন্ডের সমান সংখ্যক সহ বৃহত্তম সাব্যারে

  4. C++ এ সীমার থেকে কম বা সমান পরম পার্থক্য সহ দীর্ঘতম অবিচ্ছিন্ন সাবারে