題目網址:https://leetcode.cn/problems/meeting-rooms/

題意:給定一包含開始時間和結束時間的 intervals, 其中intervals[i] = [starti, endi], 返回一個人是否可以參加所有會議。

注意:(0,8)(8,10) 並不衝突

Solution:

想法:先將 intervals 根據 interval.start 進行排序, 然後判斷當前 interval[i - 1].end 是否大於 interval[i].start。若是的話, 代表會衝突到

class Solution {
public:
bool canAttendMeetings(vector<vector<int>>& intervals) {
sort(intervals.begin(), intervals.end());

for (int i = 1; i < intervals.size(); ++i) {
if (intervals[i - 1][1] > intervals[i][0]) {
return false;
}
}

return true;
}
};
  • time:$O(n \cdot log(n))$ ➔ sorting
  • space:$O(1)$ ➔ 不需要額外空間