当前位置: 首页 > 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),用于存储合并后的区间。
http://www.lryc.cn/news/443901.html

相关文章:

  • 基于k8s手动部署rabbitmq集群(Manually Deploying RabbitMQ Cluster Based on k8s)
  • mybatis 配置文件完成增删改查(四) :多条件 动态sql查询
  • 先楫HPM6750 Windows下VSCode开发环境配置
  • 【JavaScript】LeetCode:41-45
  • 数据结构(Day18)
  • error: ‘InsertAtTop‘ was not declared in this scope
  • MySQL缓冲池详解
  • 【我的 PWN 学习手札】tcache stash with fastbin double free —— tcache key 绕过
  • How can I stream a response from LangChain‘s OpenAI using Flask API?
  • 什么是慢充优惠话费充值api?如何选择平台
  • 【MySQL 03】表的操作
  • 3、论文阅读:EnYOLO:一种基于图像增强的水下目标区域自适应实时检测框架
  • MYSQL面试知识点手册
  • 排序算法的分析和应用
  • iptables限制网速
  • ALSA ubuntu 编译
  • 【学习笔记】SSL/TLS证书安全机制之证书透明
  • 网络编程问题解答
  • 【开源免费】基于SpringBoot+Vue.JS服装商城系统(JAVA毕业设计)
  • C语言字符串学习
  • 当你在Linux系统中使用MySQL命令行工具查询数据库时,如果中文显示为问号(?)或其他乱码,简单解决办法。(2)
  • API网关之Fizz Gateway
  • pgvector docker版安装;稀疏向量使用;psycopg2 python连接使用
  • C#命令行参数解析库System.CommandLine介绍
  • CCF CSP题解:密码(key)(202409-1)
  • RuntimeError: Maximum Recursion Depth Exceeded - 递归深度超限的完美解决方案
  • Linux1-ls,cd,pwd
  • 【高级编程】XML DOM4J解析XML文件(含案例)
  • 查看VSFTPD配置的服务器路径和linux系统有哪些用户
  • JavaEE: 创造无限连接——网络编程中的套接字