LeetCode 3169. Count Days Without Meetings

0 阅读1分钟

🔗 leetcode.com/problems/co…

题目

  • 给若干区间段 meetings [l, r] 表示从 l 天到 r 天,都有会议
  • 返回 days 天前,有哪些天没有会议

思路

  • 对 meetings 进行排序
  • 统计区间内会议间间隔的天数

代码

class Solution {
public:
    
    int countDays(int days, vector<vector<int>>& meetings) {
        sort(meetings.begin(), meetings.end());
        
        int ans = 0;
        int curr = 0;
        for (int i = 0; i < meetings.size(); i++) {
            int st = meetings[i][0];
            int end = meetings[i][1];
            if (st > curr) {
                ans += (st - curr - 1);
                curr = end;
                
            } else {
                curr = max(curr, end);
            }
            if (curr >= days) break;
        }
        if (curr < days) {
            ans += days - curr;
        }
        return ans;

    }
};

本文由博客一文多发平台 OpenWrite 发布!