程式語言 - LeetCode - C++ - 56. Merge Intervals



題目:


解答:

class Solution {
public:
    vector<vector<int>> merge(vector<vector<int>>& intervals) {
        vector<int> cur;
        vector<vector<int>> r;
        int n = intervals.size();

        sort(intervals.begin(), intervals.end());
        cur = intervals[0];

        for (auto& v : intervals) {
            if (v[0] <= cur[1]) {
                cur[1] = max(cur[1], v[1]);
            }
            else {
                r.push_back(cur);
                cur = v;
            }
        }

        r.push_back(cur);
        return r;
    }
};