2023-08-27力扣每日一题-QWQ

链接:

56. 合并区间

题意:

如题

解:

排序题,先将最早出现且最大的区间放在前面即可,差一点就要补卡了 23:59通过

实际代码:

#include
using namespace std;
class Solution {
public:
    static bool cmp(const vector& lhs,const vector& rhs)
    {
        if(lhs[0]==rhs[0]) return lhs[1]>rhs[1];
        else return lhs[0]> merge(vector>& intervals) {
        sort(intervals.begin(),intervals.end(),cmp);
        vector>ans;
        int left=-1,right=-1;
        for(auto interval:intervals)
        {
            if(left==-1)
            {
                left=interval[0];
                right=interval[1];
            }
            else{
                if(interval[0]<=right)
                {
                    right=max(interval[1],right);
                }
                else
                {
                    vectortemp{left,right};
                    ans.push_back(temp);
                    left=interval[0];
                    right=interval[1];
                }
            }
        }
        vectortemp{left,right};
        ans.push_back(temp);
        return ans;
    }
};
int main()
{
    return 0;
}

限制:

  • 1 <= intervals.length <= 104
  • intervals[i].length == 2
  • 0 <= starti <= endi <= 104

你可能感兴趣的:(力扣每日一题,leetcode)