思路:分三个阶段遍历/插入所有区间;
阶段1e_now<s这一阶段无重叠部分,直接把原区间插入res即可;
阶段2:有重叠,此时e_now>=s &&再找出s_now<=e的区间,每次找都更新区间的最小值s_new和最大值e_new,然后将[s_new,e_new]作为区间插入res;
阶段3s_now>e这一阶段无重叠部分,直接把原区间插入res即可;

vector<vector<int>> insert(vector<vector<int>> &intervals, vector<int> &newInterval)
{int len = intervals.size();vector<vector<int>> res;if (len == 0){res.push_back(newInterval);return res;}int i = 0;int s = newInterval[0], e = newInterval[1]; //表示newInterval的左端点和右端点int s_new = s, e_new = e; //合并区间后的左端点和右端点//阶段1:无重叠while (i < len && intervals[i][1] <= s){res.push_back(intervals[i]);i++;}//阶段二:有重叠,找出重叠部分最小左端点和最大右端点while (i < len && intervals[i][0] <= e){s_new = min(s_new, intervals[i][0]);e_new = max(e_new, intervals[i][1]);i++;}newInterval[0] = s_new;newInterval[1] = e_new;res.push_back(newInterval);//阶段三:无重叠while (i < len && intervals[i][0] > e){res.push_back(intervals[i]);i++;}return res;
}

Leetcode每日一题:57.insert-interval(插入区间)相关推荐

  1. 057 Insert Interval 插入区间

    给出一个无重叠的按照区间起始端点排序的区间列表. 在列表中插入一个新的区间,你要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间). 示例 1: 给定区间 [1,3],[6,9],插入并 ...

  2. Leetcode每日一题:327.count-of-range-sum(区间和的个数)

    思路:我还是用的暴力法,什么离散化+线段树等等,看不怎么懂:C++用暴力法直接超时,由于最近在学Go语言,索性用Go测试一波,结果震惊到了: func countRangeSum(nums []int ...

  3. 【细节实现题】LeetCode 57. Insert Interval

    LeetCode 57. Insert Interval Solution1:我的答案 算法很简单,不知道为何会被标记为hard题目 /*** Definition for an interval.* ...

  4. leetcode每日一题--前缀树;前缀哈希;深搜;面试题 08.04. 幂集;648. 单词替换面试题 01.09. 字符串轮转;剑指 Offer II 062. 实现前缀树

    leetcode每日一题 ps:今天的每日一题没意思,简单的模拟,自己换一道 面试题 08.04. 幂集 幂集.编写一种方法,返回某集合的所有子集.集合中不包含重复的元素. 说明:解集不能包含重复的子 ...

  5. 【LeetCode每日一题】1723. 完成所有工作的最短时间

    [LeetCode每日一题]1723. 完成所有工作的最短时间 [1] 1723. 完成所有工作的最短时间 [2] 473. 火柴拼正方形 [1] 1723. 完成所有工作的最短时间 题目: 给你一个 ...

  6. LeetCode 每日一题 3. 无重复字符的最长子串

    LeetCode 每日一题 3. 无重复字符的最长子串   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客 本文原创 ...

  7. leetcode每日刷题计划-简单篇day8

    leetcode每日刷题计划-简单篇day8 今天是纠结要不要新买手机的一天QAQ想了想还是算了吧,等自己赚钱买,加油 Num 70 爬楼梯 Climbing Stairs class Solutio ...

  8. Leetcode每日一题:171.excel-sheet-column-number(Excel表列序号)

    思路:就是168题的反命题,进制的方式完美解决: Leetcode每日一题:168.excel-sheet-column-title(Excel表名称) class Solution {public: ...

  9. leetcode每日一题--雀巢原理;抽屉算法;Quorum机制;分布式应用

    leetcode每日一题 539. 最小时间差 示例 1: 输入:timePoints = ["23:59","00:00"] 输出:1 示例 2: 输入:ti ...

  10. LeetCode每日一题——1812. 判断国际象棋棋盘中一个格子的颜色

    LeetCode每日一题系列 题目:1812. 判断国际象棋棋盘中一个格子的颜色 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个坐标 coordinates ...

最新文章

  1. office移动端_微软手机端三合一Office APP开启公测,大家可以下载试试
  2. sob攻略超详细攻略_重庆旅游攻略~超详细攻略大全!必看篇!!
  3. Swift和Objective-C混编
  4. JavaScript中不得不说的断言?
  5. 二.编写第一个c#程序(注释,命名空间,类,Main方法,标识符,关键字,输入,输出语句,)...
  6. 【Java从0到架构师】SpringMVC - 基础
  7. 员工转正申请书_网站建设人员的转正的申请书
  8. python学习(七)----测试代码
  9. Html + css 实现银行回执单 页面
  10. DNS 攻击方式及攻击案例
  11. 学生网页作业——仿华为手机电子商城 (1页) HTML+CSS+JavaScript html网页制作期末大作业成品_网页设计期末作业
  12. SPP、RFB和ASPP
  13. 魔兽世界燃烧的远征服务器状态,魔兽世界燃烧的远征前夕补丁 燃烧的远征副本介绍...
  14. 定理在数学中的简写形式_初中数学定义、定理汇总
  15. 『自己的工作4』TensorFlow2.0自动微分和手工求导的结果对比!
  16. qpython oh下载_QPython OH
  17. 关键词排名提升(提升关键词排名的方法)
  18. Unity 使用 Behaviac (二)让unity的行为能执行behaviac搭建的树的逻辑
  19. c#Winform代码里中英文切换
  20. 财经观察:“脱欧”不确定性持续拖累英国经济

热门文章

  1. web的case点总结
  2. LPC1758串口ISP下载程序
  3. 原码 反码 补码 详解
  4. 使用HTML5 canvas做地图(1)基础知识
  5. Virtual Box Host-Only网络模式配置
  6. 【学习总结】Git学习-参考廖雪峰老师教程十-自定义Git
  7. Android的LitePal开源数据库框架学习笔记
  8. Swift - 邮件发送功能的实现
  9. 软件工程专业指导4(方法)
  10. django migrate 抛出异常:ValueError: Found wrong number (0) of constraints for …