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

以上是 JavaScript 中的会议室 2 问题 的全部内容, 来源链接: utcz.com/z/343871.html

回到顶部