当前位置: 首页 > news >正文

2848、与车相交的点

2848、[简单] 与车相交的点

1、题目描述

给你一个下标从 0 开始的二维整数数组 nums 表示汽车停放在数轴上的坐标。对于任意下标 inums[i] = [starti, endi] ,其中 starti 是第 i 辆车的起点,endi 是第 i 辆车的终点。

返回数轴上被车 任意部分 覆盖的整数点的数目。

2、解题思路

排序和合并区间

  • 首先对汽车坐标区间进行排序,使得区间按照起点从小到大排列。
  • 然后,通过遍历排序后的区间来合并重叠的区间。
  • 合并的过程是:如果当前区间的起点在已合并区间的终点之后,说明没有重叠,直接添加新的区间;否则,更新已合并区间的终点。

计算覆盖点数

  • 合并完所有区间后,计算每个合并后的区间所覆盖的整数点数,并累加到结果中。

3、代码实现

class Solution {
public:
    int numberOfPoints(vector<vector<int>>& nums) {
        if (nums.size() == 0) {
            return 0; // 如果没有汽车,返回0
        }
        
        vector<vector<int>> ans; // 用于存储合并后的区间
        sort(nums.begin(), nums.end()); // 按区间起点进行排序
        ans.push_back(nums[0]); // 将第一个区间加入结果集
        
        for (int i = 1; i < nums.size(); i++) {
            if (ans.back()[1] < nums[i][0]) {
                // 当前区间与最后一个合并区间不重叠,添加新的区间
                ans.push_back(nums[i]);
            } else {
                // 合并区间,更新终点
                ans.back()[1] = max(ans.back()[1], nums[i][1]);
            }
        }
        
        int ret = 0; // 结果变量
        for (const auto& v : ans) {
            // 计算每个合并后区间的覆盖点数
            ret += v[1] - v[0] + 1;
        }
        
        return ret; // 返回被覆盖的整数点数
    }
};

4、复杂度分析

  • 时间复杂度O(n log n),主要是排序的时间复杂度,其中 n 是汽车的数量。
  • 空间复杂度O(n),用于存储合并后的区间。

相关文章:

  • 游戏引擎学习第103天
  • [FastAdmin] 上传图片并加水印,压缩图片
  • 重读《Java面试题,10万字208道Java经典面试题总结(附答案)》
  • 一种 SQL Server 数据库恢复方案:解密、恢复并导出 MDF/NDF/BAK文件
  • 【Elasticsearch】Mapping概述
  • 适用于iOS的应用商店优化(ASO)清单
  • Qt信号槽调用出错:Qt: Dead lock detected while activating a BlockingQueuedConnection
  • Anaconda 安装指南:Windows、macOS 和 Linux 的详细安装步骤
  • 轮子项目--消息队列的实现(3)
  • Redis初阶笔记
  • 【Linux】cron计划任务定时执行命令
  • 问界M8细节曝光,L3自动驾驶有了!
  • 【LeetCode】394. 字符串解码
  • Windows中指定路径安装DockerDesktop
  • 02、QLExpress从入门到放弃,相关API和文档
  • Electron:使用electron-react-boilerplate创建一个react + electron的项目
  • 回顾Golang的Channel与Select第一篇
  • Anaconda +Jupyter Notebook安装(2025最新版)
  • 【C】初阶数据结构5 -- 栈
  • 【Python爬虫(1)】专栏开篇:夯实Python基础
  • 李云泽:再批复600亿元,进一步扩大保险资金长期投资试点范围
  • 上海市委常委会扩大会议传达学习习近平总书记考察上海重要讲话和在部分省区市“十五五”时期经济社会发展座谈会上的重要讲话精神
  • 新加坡总理黄循财领导人民行动党胜选,外交部回应
  • “鱼米之乡”江苏兴化的产业哲学:以融合与创新重构价值链条
  • 特朗普要征100%关税,好莱坞这批境外摄制新片能躲过吗?
  • 牧草之王苜蓿的江南驯化史