আমাদের একটি অ্যারে অফ অ্যারে দেওয়া হবে, প্রতিটি সাবঅ্যারে ঠিক দুটি উপাদান ধারণ করবে যা একটি মিটিংয়ের শুরু এবং শেষ সময় নির্দেশ করবে।
ফাংশনটির কাজ হলো একজন ব্যক্তি কতটুকু মিটিং সময়ের সংঘর্ষ (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