56. Merge Interval

2024-09-07 14:58
文章标签 interval merge 56

本文主要是介绍56. Merge Interval,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目:

解答:

常规的合并,根据前后interval是否有交集判定。

代码:

/*** 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:static int compare(const Interval& A, const Interval& B){return A.start < B.start;}vector<Interval> merge(vector<Interval>& intervals) {sort(intervals.begin(), intervals.end(), compare);int len = intervals.size();if(len < 2) return intervals;vector<Interval> result;bool goend = false;for(int i = 0;i < len - 1; ++i){if(intervals[i].end < intervals[i+1].start){result.push_back(intervals[i]);}else{int index = i, right = intervals[index].end;while(index + 1 < len && right >= intervals[index+1].start){index++;if(intervals[index].end > right)right = intervals[index].end;}if(index + 1 == len)goend = true;Interval tmp(intervals[i].start, right);result.push_back(tmp);i = index;}}if(!goend)result.push_back(intervals[len-1]);return result;}
};

更新会同步在我的网站更新(https://zergzerg.cn/notes/webnotes/leetcode/index.html)

这篇关于56. Merge Interval的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1145377

相关文章

多表连接的三种方式hash join,merge join,nested loop

多表之间的连接有三种方式:Nested Loops,Hash Join和 Sort Merge Join. 下面来介绍三种不同连接的不同:     一. NESTED LOOP: 对于被连接的数据子集较小的情况,嵌套循环连接是个较好的选择。在嵌套循环中,内表被外表驱动,外表返回的每一行都要在内表中检索找到与它匹配的行,因此整个查询返回的结果集不能太大(大于1 万不适合),要把返回

gitlab 上源码Merge后出现git gc的解决方案

问题: 远程主分支在merger其他分支的请求后,本地主分支pull 远程分支出现git gc * branch master -> FETCH_HEADAuto packing the repository for optimum performance. You may alsorun "git gc" manually. See "git help g

SQL SERVER中使用Merge进行批量操作

在.net开发过程中,经常会和数据库打交道。微软的产品包里,SQL SERVER便是一个强大的数据库管理系统(DBS)。我们编写的.net程序怎么和DBS进行交互呢?笔者最常用的便是ado.net组件,其中包括了执行sql命令,执行存储过程等丰富的操作方法。在ERP(企业资源计划)系统中,最常见的场景便是单条数据的增、删、改,或者小批量的DML(数据操纵语言)操作。在这种场景下,应用程序和DBS

error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL_ errno 10054解决方法

error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054解决方法 不敢保证一定能解决,通过搜索多方博客尝试寻找解决方案,最后clone成功。(PS:不保证能成功) http://www.wangxianfeng.cn/wordpress/2018/07/14/git使用过程中常见错误解决/ https:

Merge Sort Array and Merge Sort Linked List

Merge Sort Array: 看完stanford的 CS106B的video,https://www.youtube.com/watch?v=LlNawf0JeF0&list=PLnfg8b9vdpLn9exZweTJx44CII1bYczuk&index=55 醍醐灌顶; public class Solution {/*** @param A: an integer array* @

Sorting (Merge Sort, Rainball Sort, quick select) 总结

Merge k Sorted Lists (这题是用PQ,或者merge sort都可以做,关于第K大的问题,参考: Find Kth 题目类型总结) Sort an Array (重点掌握merge sort和quick sort,因为两者可以演变为,divide conquer, quick select, 参考: Find Kth 题目类型总结) Sort Colors 思路:三指针,i

Interval 类型总结

Interval是一类型的题目,面试的很喜欢出,这里把所有interval的题目全部总结一下; Merge Intervals 首先按照start sort之后,判断end是否跟start相交,如果相交,end就是两者最大值;否则加入cur;注意最后需要加入cur; class Solution { public int[][] merge(int[][] intervals) {if(

MySQL 存储过程实现 MERGE INTO

编写存储过程中,经常遇到的问题就是:在同步某项数据时,我们需要做到如果库里之前有改信息,则更新,如果没有则插入。在Oracle存储过程中我们可以通过Merge INTO 来实现。但是MySQL数据库存储过程不支持Merge INTO。那我们应该如何实现呢? 首先我们看下在Oracle数据库中Merge INTO的语法 MERGE INTO [target-table] A USING [sou

Git 仓库间代码迁移 | merge cherry-pick

工作中遇到了这样场景:原工程 A 由于业务发展,衍生出了 B 工程,至此两个工程独立迭代。A 工程近期上线了一个功能,B 工程也希望具备该功能,需要研发同学做代码的同步。 问题简化:如何在两个 git 仓库间做代码迁移。 回溯一下,如果将代码从一个分支迁移到另一个分支。 如果需要所有代码变动,可以使用 merge 操作;如果需要部分代码变动(某几个提交),可以使用 cherry-pick

三级_网络技术_56_应用题

一、 请根据下图所示网络结构回答下列问题。 1.填写RG的路由表项。 目的网络/掩码长度输出端口__________S0(直接连接)__________S1(直接连接)__________S0__________S1__________S0__________S1 (2)在不改变路由表项的前提下,在路由器RE的E0端口所连接的网段上最多可再接入的路由器数量是__________个。