57. 插入区间

这篇具有很好参考价值的文章主要介绍了57. 插入区间。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

57. 插入区间


题目链接:57. 插入区间

代码如下:文章来源地址https://www.toymoban.com/news/detail-808672.html

class Solution {
public:
    vector<vector<int>> insert(vector<vector<int>>& intervals, vector<int>& newInterval) {
        vector<vector<int>> res;

        //插入后进行区间合并
        intervals.push_back(newInterval);
        sort(intervals.begin(),intervals.end());

        for (int i = 0; i < intervals.size(); i++)
        {
            int left = intervals[i][0], right = intervals[i][1];
               
            //结果为空或者上个区间的右端点小于现区间的左端点,证明不连续,就放进去
            if (res.empty() || res.back()[1] < left)
            {
                res.push_back({left,right});
            }
            else//连续,就更新左右端点
            {
                res.back()[1] = max(res.back()[1], right);
            }
        }

        return res;
    }
};

到了这里,关于57. 插入区间的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2023-08-28 LeetCode每日一题(插入区间)

    点击跳转到题目位置 给你一个 无重叠的 ,按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 示例 1: 示例 2: 示例 3: 示例 4: 示例 5: 提示: 0 = intervals.length = 10 4 interval

    2024年02月11日
    浏览(46)
  • 整数数组区间的插入与删除

    相似题参考: 56. Merge Intervals - 力扣(LeetCode)合并区间 57. 插入区间 - 力扣(LeetCode) 1272. 删除区间

    2024年02月12日
    浏览(42)
  • 【力扣每日一题】2023.8.28 插入区间

    目录 题目: 示例: 分析: 代码: 和昨天的题大差不差,我们仍然是有一堆区间,题目给我们一个新的区间,要我们把新区间插入到原本的区间数组里,并且能合并的要合并。 我们可以直接把新区间放入数组里,接着执行昨天的代码即可,一行都不用改,甚至形参名字都是

    2024年02月10日
    浏览(43)
  • LeetCode 36天 | 435.无重叠区域 763.划分字母区间 56.合并区间

    435. 无重叠区间 左边排序,右边裁剪为当前最小的 763. 划分字母区间 自己写出来的题,虽然之前做过一遍了。 自己的写法虽然比较难看,但是也列出来了。 再给一个卡尔的写法 56. 合并区间 重叠区域的题目大都要按左边界先排序。学了个lambda表达式。可以直接将一个区域放

    2024年02月20日
    浏览(72)
  • Leetcode56. 合并区间

    以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 示例 1: 输入:intervals = [[1,3],[2,6],[8,10],[15,18]] 输出:[[1,6],[8,10],[15,18]] 解释:区间 [1,3] 和

    2024年01月23日
    浏览(37)
  • leetcode 436. 寻找右区间

    题目链接:leetcode 436 给你一个区间数组 intervals ,其中 intervals[i] = [starti, endi] ,且每个 starti 都 不同 。 区间 i 的 右侧区间 可以记作区间 j ,并满足 startj = endi ,且 startj 最小化 。注意 i 可能等于 j 。 返回一个由每个区间 i 的 右侧区间 在 intervals 中对应下标组成的数组。如

    2024年02月12日
    浏览(27)
  • LeetCode[56]合并区间

    难度:Medium 题目: 以数组  intervals  表示若干个区间的集合,其中单个区间为  intervals[i] = [starti, endi]  。请你合并所有重叠的区间,并返回  一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间  。 示例 1:   示例 2: 提示: 1 = intervals.length = 104 intervals[i].lengt

    2024年02月12日
    浏览(61)
  • LeetCode56.合并区间

    这道题我想了一会儿,实在想不到比较好的算法,只能硬着头皮写了,然后不断的debug,经过我不懈的努力,最后还是AC,不过效率确实低。 我就是按照最直接的方法来,先把intervals数组按照第一个数start来排序,这个是通过定义一个sort方法用冒泡排序实现的,然后用一个L

    2024年02月11日
    浏览(36)
  • leetcode:汇总区间(详解)

    前言:内容包括:题目,代码实现,大致思路,代码解读 目录 题目: 代码实现: 大致思路: 代码解读: part 1 part 2 给定一个  无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说,nums 的每个元素都恰好被某个区间范

    2023年04月15日
    浏览(30)
  • 算法训练day36|贪心算法 part05(重叠区间三连击:LeetCode435. 无重叠区间763.划分字母区间56. 合并区间)

    题目链接🔥🔥 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 示例 1: 输入: [ [1,2], [2,3], [3,4], [1,3] ] 输出: 1 解释: 移除 [1,3] 后,剩下的区

    2024年02月09日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包