[力扣 Hot100]Day14 合并区间

题目描述

以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。
出处

思路

使用类似位示图的方法表示,但是对于[0,0][1,4]这种会被误认为连续,所以全部*2以做分隔。

代码

class Solution {
   
public:
    vector<vector<int>> merge(vector<vector<int>>& intervals) {
   
        int min=10001,max=0;
        bool map[20002]={
   0};
        int start, end;
        vector<vector<int>> ans;
        for(int i=0;i<intervals.size();i++){
   
            start=intervals[i][0];
            end=intervals[i][1];
            if(start<min)min=start;
            if(end>max)max=end;
            if(start==end)map[start*2]=1;//0要特殊处理
            fill(map+start*2,map+end*2+1,1);
        }
        vector<int> a={
   0,0};
        cout<<min<<max<<endl;
        for(int i=0;i<9;i++)cout<<map[i]<<endl;
        min=min*2;max=max*2;
        while(min<max){
   
            while(map[min]==0&&min<max)min++;
            a[0]=min/2;
            while (map[min]==1&&min<=max)min++;
            a[1]=min/2;
            ans.push_back(a);
        }
        return ans;
    }
};

相关推荐

  1. [ Hot100]Day14 合并区间

    2024-01-28 04:02:01       37 阅读
  2. 100】56.合并区间

    2024-01-28 04:02:01       43 阅读
  3. [ Hot100]Day12 最小覆盖子串

    2024-01-28 04:02:01       35 阅读
  4. [ Hot100]Day13 最大子数组和

    2024-01-28 04:02:01       40 阅读
  5. [ Hot100]Day16 除自身以外数组的乘积

    2024-01-28 04:02:01       39 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-28 04:02:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-28 04:02:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-28 04:02:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-28 04:02:01       18 阅读

热门阅读

  1. 【每日一题】YACS P817:两数归零

    2024-01-28 04:02:01       36 阅读
  2. 题目 1022: [编程入门]筛选N以内的素数

    2024-01-28 04:02:01       33 阅读
  3. 【模板】拓扑排序

    2024-01-28 04:02:01       37 阅读
  4. ·迭代器模式

    2024-01-28 04:02:01       29 阅读