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

জাভাস্ক্রিপ্টে মিটিং রুমস ২ (Meeting Rooms 2) সমস্যা সমাধান


আমাদের একটি অ্যারে অফ অ্যারে দেওয়া হবে, প্রতিটি সাবঅ্যারে ঠিক দুটি উপাদান ধারণ করবে যা একটি মিটিংয়ের শুরু এবং শেষ সময় নির্দেশ করবে।

ফাংশনটির কাজ হলো একজন ব্যক্তি কতটুকু মিটিং সময়ের সংঘর্ষ (conflict) ছাড়া দিতে পারবে তার সর্বোচ্চ সংখ্যা বের করা। ফাংশনটি সেই সংখ্যাটি রিটার্ন করবে।

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

ইনপুট অ্যারে যদি হয় —

const arr = [[5, 40], [10, 20], [25, 35]];

তাহলে আউটপুট হবে —

const output = 2;

কারণ সময়ের ওভারল্যাপ (overlap) থাকায় তিনটি মিটিং দিতে পারা সম্ভব নয় কিন্তু [10, 20] এবং [25, 35] দিতে পারা যায়।

উদাহরণ

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

const arr = [[5, 40], [10, 20], [25, 35]]; 
const canAttendAll = (arr = []) => { 
  const times = new Set(); 
  const { length } = arr; 
  for (let i = 0; i < length; i += 1) { 
    for (let j = arr[i][0]; j < arr[i][1]; j += 1) { 
      if (times.has(j)) { 
        return false; 
      } else { 
        times.add(j); 
      }; 
    } 
  }; 
  return true; 
}; 
console.log(canAttendAll(arr));

আউটপুট

কনসোল আউটপুট:

false

  1. জাভাস্ক্রিপ্ট const কীওয়ার্ড

  2. জাভাস্ক্রিপ্টে Const এবং Let এর পার্থক্য

  3. জাভাস্ক্রিপ্টে কলা বিতরণ সমস্যা (Distributing Bananas)

  4. জাভাস্ক্রিপ্টে অ্যালফাবেট লড়াই সমস্যা সমাধান