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

জাভাস্ক্রিপ্টে অ্যারে কনsekutিভ সাবসিকোয়েন্সে ভাগ করা সম্ভব কিনা যাচাই করা

সমস্যা

একটি সর্টেড ইন্টিজার অ্যারে arr দেওয়া আছে। অ্যারেটিকে ১ বা একাধিক সাবসিকোয়েন্সে ভাগ করা যায় কিনা যাচাই করতে হবে, যেখানে প্রতিটি সাবসিকোয়েন্সে কমপক্ষে ৩টি কনsekutিভ ইন্টিজার থাকবে। সম্ভব হলে true, অন্যথায় false রিটার্ন করবে।

উদাহরণ:

ইনপুট

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

আউটপুট

const output = true;

ব্যাখ্যা

দুটি কনsekutিভ সাবসিকোয়েন্সে ভাগ করা যায়: 1,2,3 এবং 3,4,5।

উদাহরণ কোড

const arr = [1, 2, 3, 3, 4, 5]; const canSplit = (arr = []) => {   const count = arr.reduce((acc, num) => {     acc[num] = (acc[num] || 0) + 1;     return acc; }, {});   const needed = {};   for (const num of arr) {     if (count[num] <= 0) continue;     count[num] -= 1;     if (needed[num] > 0) {       needed[num] -= 1;       needed[num + 1] = (needed[num + 1] || 0) + 1;     } else if (count[num + 1] > 0 && count[num + 2]) {       count[num + 1] -= 1;       count[num + 2] -= 1;       needed[num + 3] = (needed[num + 3] || 0) + 1;     } else {       return false;     }   }   return true; }; console.log(canSplit(arr));

আউটপুট

true
  1. জাভাস্ক্রিপ্টে অ্যারে এন্ট্রি ভাগ করে অবজেক্ট তৈরি

  2. জাভাস্ক্রিপ্টে অ্যারে অফ অ্যারে কনভার্ট করে অবজেক্ট বানানো

  3. জাভাস্ক্রিপ্টে অ্যারে কি n পার্টিশনে সমান যোগফলে ভাগ করা যায়

  4. C++-এ অ্যারে বিভাজন ক্রমাগত সাবসিকোয়েন্সে