কম্পিউটার

জাভাস্ক্রিপ্টে পরপর অনুক্রমে অ্যারেকে বিভক্ত করতে পারে


সমস্যা

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

আমাদের ফাংশনটি সত্য হওয়া উচিত যদি এবং শুধুমাত্র যদি আমরা অ্যারেটিকে 1 বা তার বেশি অনুগামীতে বিভক্ত করতে পারি যাতে প্রতিটি পরবর্তীতে পরপর পূর্ণসংখ্যা থাকে এবং দৈর্ঘ্য থাকে কমপক্ষে 3, অন্যথায় মিথ্যা৷

উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয়

ইনপুট

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

আউটপুট

const output = true;

আউটপুট ব্যাখ্যা

আমরা সেগুলিকে পরপর দুটি অনুক্রমে বিভক্ত করতে পারি -

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++-এ পরপর পরপর অ্যারেকে বিভক্ত করুন