2023-08-27 LeetCode每日一题(合并区间)

这篇具有很好参考价值的文章主要介绍了2023-08-27 LeetCode每日一题(合并区间)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

2023-08-27每日一题

一、题目编号

56. 合并区间

二、题目链接

点击跳转到题目位置

三、题目描述

以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。

示例 1:
2023-08-27 LeetCode每日一题(合并区间),LeetCode每日一题,leetcode,算法,数据结构
示例 2:
2023-08-27 LeetCode每日一题(合并区间),LeetCode每日一题,leetcode,算法,数据结构
提示:

  • 1 <= intervals.length <= 104
  • intervals[i].length == 2
  • 0 <= starti <= endi <= 104

四、解题代码

class Solution {
public:
    vector<vector<int>> merge(vector<vector<int>>& intervals) {
        int n = intervals.size();
        sort(intervals.begin(), intervals.end(), 
        [&](vector<int> &a, vector<int> &b){
            return a[0] < b[0];
        });
        vector<vector<int>> res;
        int left = intervals[0][0]; 
        int right = intervals[0][1];
        for(int i = 1; i < n; ++i){
            if(intervals[i][0] <= right){
                right = max(right, intervals[i][1]);
            } else{
                res.push_back({left, right});
                left = intervals[i][0];
                right = intervals[i][1];
            }
        }
        res.push_back({left, right});
    return res;
    }
};

五、解题思路

(1) 首先将数组按照区间左端点从小到大进行自定义排序。

(2) 接着左端设置为intervals[0][0],右端设置为 intervals[0][1]。

(3) 接着遍历数组,如果遍历到的区间左端大于记录的区间的右端,则将记录的区间放入结果数组中,新的区间更新为当前遍历到的区间,如果遍历到的区间的左端小于等于记录的区间的右端,则此时区间的右端则更新为两者区间右端的大值。

(4) 遍历完毕后不要忘记将当前记录的区间放入结果数组中。

(5) 最后返回结果数组即可。文章来源地址https://www.toymoban.com/news/detail-684047.html

到了这里,关于2023-08-27 LeetCode每日一题(合并区间)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【力扣每日一题】2023.8.27 合并区间

    目录 题目: 示例: 分析: 代码: 那么合并区间是在什么情况下才能合并呢? 我总结为两种情况 第一种情况就是这样,第二个区间的左区间大于第一个区间的左区间但是小于第一个区间的右区间,并且第一个区间的右区间小于第二个区间的右区间,这种情况下合并的结果就

    2024年02月11日
    浏览(34)
  • 2023-08-01 LeetCode每日一题(英雄的力量)

    点击跳转到题目位置 给你一个下标从 0 开始的整数数组 nums ,它表示英雄的能力值。如果我们选出一部分英雄,这组英雄的 力量 定义为: i 0 ,i 1 ,… i k 表示这组英雄在数组中的下标。那么这组英雄的力量为 max(nums[i0],nums[i1] … nums[ik])2 * min(nums[i0],nums[i1] … nums[ik]) 。 请你

    2024年02月14日
    浏览(60)
  • 2023-07-08 LeetCode每日一题(三数之和)

    点击跳转到题目位置 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请 你返回所有和为 0 且不重复的三元组。 **注意:**答案中不可以包含重复的三元组。 提示: 3 = nums.length = 3000 -10 5

    2024年02月13日
    浏览(51)
  • 2023-08-04 LeetCode每日一题(不同路径 III)

    点击跳转到题目位置 在二维网格 grid 上,有 4 种类型的方格: 1 表示起始方格。且只有一个起始方格。 2 表示结束方格,且只有一个结束方格。 0 表示我们可以走过的空方格。 -1 表示我们无法跨越的障碍。 返回在四个方向(上、下、左、右)上行走时,从起始方格到结束方

    2024年02月14日
    浏览(41)
  • 2023-09-08 LeetCode每日一题(计算列车到站时间)

    点击跳转到题目位置 给你一个正整数 arrivalTime 表示列车正点到站的时间(单位:小时),另给你一个正整数 delayedTime 表示列车延误的小时数。 返回列车实际到站的时间。 注意,该问题中的时间采用 24 小时制。 示例 1: 示例 2: 提示: 1 = arrivaltime 24 1 = delayedTime = 24 (1) 运用

    2024年02月09日
    浏览(56)
  • 2023-08-17 LeetCode每日一题(切披萨的方案数)

    点击跳转到题目位置 给你一个 rows x cols 大小的矩形披萨和一个整数 k ,矩形包含两种字符: ‘A’ (表示苹果)和 ‘.’ (表示空白格子)。你需要切披萨 k-1 次,得到 k 块披萨并送给别人。 切披萨的每一刀,先要选择是向垂直还是水平方向切,再在矩形的边界上选一个切

    2024年02月12日
    浏览(49)
  • 2023-08-23 LeetCode每日一题(统计点对的数目)

    点击跳转到题目位置 给你一个无向图,无向图由整数 n ,表示图中节点的数目,和 edges 组成,其中 edges[i] = [u i , v i ] 表示 u i 和 v i 之间有一条无向边。同时给你一个代表查询的整数数组 queries 。 第 j 个查询的答案是满足如下条件的点对 (a, b) 的数目: a b cnt 是与 a 或者 b

    2024年02月11日
    浏览(54)
  • 2023-08-10LeetCode每日一题(下降路径最小和 II)

    点击跳转到题目位置 给你一个 n x n 整数矩阵 grid ,请你返回 非零偏移下降路径 数字和的最小值。 非零偏移下降路径 定义为:从 grid 数组中的每一行选择一个数字,且按顺序选出来的数字中,相邻数字不在原数组的同一列。 示例 1: 示例 2: 提示: n == grid.length == grid[i].

    2024年02月13日
    浏览(46)
  • 2023-08-24 LeetCode每日一题(统计参与通信的服务器)

    点击跳转到题目位置 这里有一幅服务器分布图,服务器的位置标识在 m * n 的整数矩阵网格 grid 中,1 表示单元格上有服务器,0 表示没有。 如果两台服务器位于同一行或者同一列,我们就认为它们之间可以进行通信。 请你统计并返回能够与至少一台其他服务器进行通信的服

    2024年02月10日
    浏览(42)
  • 【LeetCode - 每日一题】823. 带因子的二叉树 (2023.08.29)

    元素都大于1,元素不重复。 计数满足要求的二叉树(每个非叶结点的值应等于它的两个子结点的值的乘积)的数量。 元素可以重复使用。 自上而下动态规划。 所有元素大于1,所以不会有 自己×自己=自己 的情况; 元素本身就是一棵二叉树,所以将 dp 初始化为全 1; 将数组

    2024年02月10日
    浏览(39)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包