JavaScript 中的會議室 2 問題


我們將得到一個數組的陣列,每個子陣列由兩個元素組成,指示會議的開始和結束時間。

我們函式的任務是找出一個人可以參加的最大會議數量,避免時間的衝突。該函式最終應該返回此數字。

例如 −

如果描述會議時間的輸入陣列是 −

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

那麼輸出應該是 −

const output = 2;

因為由於時間重疊,不可能參加所有三個會議,但可以參加 [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

更新於: 27-2-2021

287 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始
廣告