看啥推荐读物
一个有情怀的公众号。机器学习、自然语言处理、算法等知识集中营、期待与你相遇~
今天看啥  ›  专栏  ›  机器学习算法与自然语言处理

Leetcode刷题指南之56-MergeIntervals

机器学习算法与自然语言处理  · 公众号  ·  · 2019-04-12 08:19
  编程与算法之美报道  作者:东大ACM退役队伍编辑:Cookies题目分析给出n个区间[l,r],现要求将区间合并,有重叠的区间将合并成一个区间。 如,初始区间为:[1,3],[2,6],[8,10],[15,18] 合并之后的区间为:[1,6],[8,10],[15,18]解题思路贪心思路,将初始区间序列ins按照左端点的从小到大排序,接着遍历ins。 一开始将第一个区间ins[0]放入结果区间序列res,接着每次遍历到一个新的区间[l,r],将其与当前合并后的最后一个区间[L,R]比较:若l 若l > R,说明新区间与当前最后一个区间没有重叠,所以不需要合并,直接将新区间加入结果序列res,成为新的最后一个区间。算法正确性:在上述贪心思路中,只考虑了新区间的左端点与最后一个区间的右端点的大小比较,最后只会对最后区间的右端点进行修改,却不会修改左端点。之所以不考虑左端点,是因为初始化时 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照