leetcode: Merge Intervals
来源:互联网 发布:点云数据处理软件 编辑:程序博客网 时间:2024/05/16 18:30
Given a collection of intervals, merge all overlapping intervals.
For example,
Given [1,3],[2,6],[8,10],[15,18]
,
return [1,6],[8,10],[15,18]
.
AC,如果不新开一个vector保存结果,原地合并需要先对intervals按start排序,这个复杂度较高,会超时
/** * Definition for an interval. * struct Interval { * int start; * int end; * Interval() : start(0), end(0) {} * Interval(int s, int e) : start(s), end(e) {} * }; */class Solution {public: vector< Interval> insert( vector< Interval> &res, Interval new_interval){ auto iter = res.begin(); while( iter != res.end()){ if( new_interval.end < iter->start){ res.insert( iter, new_interval); return res; } else if( iter->end < new_interval.start){ ++iter; continue; } else{ new_interval.start = min( iter->start, new_interval.start); new_interval.end = max( iter->end, new_interval.end); res.erase(iter); } } res.insert( res.end(), new_interval); return res; } vector<Interval> merge(vector<Interval> &intervals) { vector< Interval> res; for( int i = 0; i < intervals.size(); ++i){ insert( res, intervals[i]); } return res; }};
0 0
- LeetCode: Merge Intervals
- LeetCode Merge Intervals
- LeetCode: Merge Intervals
- [Leetcode] Merge Intervals
- leetcode 28: Merge Intervals
- Leetcode: Merge Intervals
- [LeetCode] Merge Intervals
- [LeetCode]Merge Intervals
- leetcode merge intervals
- [leetcode]Merge Intervals
- LeetCode-Merge Intervals
- [leetcode] Merge Intervals
- LeetCode - Merge Intervals
- 【leetcode】Merge Intervals
- leetcode Merge Intervals
- LeetCode Merge Intervals
- [LeetCode] Merge Intervals
- LeetCode | Merge Intervals
- Tomcat用户指南_Setup
- 牛人的《Linux内核设计与实现》读书笔记——学习
- org.springframework.dao.InvalidDataAccessApiUsageException: Write
- SSI(Server Side Include)简介
- Linux DM9000网卡驱动程序完全分析
- leetcode: Merge Intervals
- edius7下载地址(需要注册会员的)
- Android savedInstanceState的作用和用法
- JDBC注册驱动的三种方式
- java 多线程同步锁
- 使用Java Timer实现定时任务
- struts2 返回json
- 思想上移,行动下移——抽象工厂+反射+配置文件
- 《编程之美》之读书笔记 1.1让CPU占用率曲线听你指挥