Cho mảng các meeting [start, end]. Tìm số meeting tối đa có thể tham gia không trùng thời gian.
Ví dụ: [[5,40],[10,20],[25,35]] → 2 (chọn [10,20] và [25,35]).
Ví dụ
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++)
for (let j = arr[i][0]; j < arr[i][1]; j++)
if (times.has(j)) return false;
else times.add(j);
return true;
};
console.log(canAttendAll(arr));
Kết quả
false