Chúng ta sẽ được cung cấp một dãy các mảng, mỗi mảng con bao gồm chính xác hai phần tử cho biết thời gian bắt đầu và kết thúc của cuộc họp.
Nhiệm vụ của chức năng của chúng tôi là tìm ra số lượng cuộc họp tối đa mà một người có thể tham gia để tránh xung đột về thời gian. Hàm cuối cùng sẽ trả về số này.
Ví dụ -
Nếu mảng đầu vào mô tả thời gian họp là -
const arr = [[5, 40], [10, 20], [25, 35]];
Sau đó, đầu ra phải là -
const output = 2;
vì không thể tham gia cả ba cuộc họp do thời gian trùng nhau nhưng [10, 20] và [25, 35] có thể tham dự.
Ví dụ
Mã cho điều này sẽ là -
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));
Đầu ra
Và đầu ra trong bảng điều khiển sẽ là -
false