博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] Merge Intervals
阅读量:5261 次
发布时间:2019-06-14

本文共 857 字,大约阅读时间需要 2 分钟。

Merge Intervals

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].

解题思路:

数组区域合并。

首先将原数组依照左边界排序,然后扫描数组。每次比較时,仅仅须要与已扫描数组最后一个元素比較是否有重合区域。若有重合区域,则更改最后已扫描数组的最后一个元素的右边界,若无重合区域,则将新扫描的数组插入到已扫描的数组中。

注意自己定义排序,能够用库排序。然后自己定义比較元素就可以。

/** * 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
merge(vector
& intervals) { std::sort(intervals.begin(), intervals.end(), comp); vector
result; int len = intervals.size(); for(int i=0; i
=interval2.start; }};

转载于:https://www.cnblogs.com/wzzkaifa/p/7228762.html

你可能感兴趣的文章
分布式技术追踪 2017年第二十期
查看>>
git添加公钥后报错sign_and_send_pubkey: signing failed: agent refused operation的解决办法
查看>>
Linux环境变量永久设置方法(zsh)
查看>>
MVC4.0 利用IActionFilter实现简单的后台操作日志功能
查看>>
脑袋卡在窗子里
查看>>
ruby 中文字符to_json后乱码(unicode)
查看>>
《大道至简》第六章读后感
查看>>
codeforce 597C-Subsequences(dp+树状数组)
查看>>
[android](学习笔记6)为应用程序添加对话框(1)
查看>>
windows下mongodb安装与使用
查看>>
rotate the clock
查看>>
bugku 变量
查看>>
Python 环境傻瓜式搭建 :Anaconda概述
查看>>
趁热打铁第一季《移动APP开发使用什么样的原型设计工具比较合适?》
查看>>
数据库01 /Mysql初识以及基本命令操作
查看>>
数据库02 /MySQL基础数据类型以及多表之间建立联系
查看>>
Python并发编程04/多线程
查看>>
CF461B Appleman and Tree
查看>>
CF219D Choosing Capital for Treeland
查看>>
杂七杂八的小笔记本
查看>>