力扣(leetcode)每日一题 2848 与车相交的点

2848. 与车相交的点 - 力扣(LeetCode)

题干

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

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

示例 1:

输入:nums = [[3,6],[1,5],[4,7]]
输出:7
解释:从 1 到 7 的所有点都至少与一辆车相交,因此答案为 7 。
示例 2:

输入:nums = [[1,3],[5,8]]
输出:7
解释:1、2、3、5、6、7、8 共计 7 个点满足至少与一辆车相交,因此答案为 7 。

提示:

1 <= nums.length <= 100
nums[i].length == 2
1 <= starti <= endi <= 100

解法1
public static int numberOfPoints(List<List<Integer>> nums) {TreeMap<Integer, Integer> map = new TreeMap<>();// 先进行排序  如果有线段1,10和1,5 在map中保证存放的是1,10这个数值更大的for (int i = 0; i < nums.size(); i++) {List<Integer> integers = nums.get(i);Integer key = integers.get(0);Integer valueOrigin = integers.get(1);Integer value = map.get(key);if (value == null || value < valueOrigin) {map.put(key, valueOrigin);}}int count = 0;// 再进行遍历Iterator<Map.Entry<Integer, Integer>> iterator = map.entrySet().iterator();int max = 0; // 这里的max是最大结算点while (iterator.hasNext()) {Map.Entry<Integer, Integer> entry = iterator.next();Integer key = entry.getKey();Integer value = entry.getValue();if (key > max) {  // 如果max为3 这里的线段为4,8 直接刷记录然后更新max为8 count += value - key + 1;max = value;}if (key <= max && value > max) { // 这里max为6    线段为4,8   需要更新的点是7到8 因为max已经结算过了,所以这里不需要加1count += value - max;max = value;}}return count;}

在这里插入图片描述

复杂度应该是n * logN + n 这里和数值无关

题解的复杂度是n+c c是元素的范围
下意识觉得元素的范围会很大是10的9次方级别。

解法2

讲一下题解的第二种做法

一个数组上,从左边到右边,如果有线段开始,count就加上1,如果有线段结束,count就减去1
这样count大于1 的位置上就肯定是有线段覆盖的。

 public static int numberOfPoints(List<List<Integer>> nums) {int[] arr = new int[102];for (List<Integer> num : nums) {arr[num.get(0)]++; // 获取count,arr[num.get(1) + 1]--; // 归还count}int count = 0;int res = 0;for (int i : arr) {count += i;if (count > 0) {res++;}}return res;}

在这里插入图片描述

总结

一般的范围和数值不会给这么小,这纯摆着送分

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1535690.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

四款好用英语翻译工具的全面指南

对于经常需要与工作或学习相关的英语资料打交道的人来说&#xff0c;翻译工具成为了我们日常的得力助手;现在市场上的英语翻译工具琳琅满目&#xff0c;各有千秋;今天&#xff0c;我就来为大家推荐几款我个人觉得非常实用的翻译工具: 第一款&#xff1a;福昕在线翻译 说到这一…

关于wp网站出现的问题

问题1 问题1&#xff1a;如果出现这个界面的问题 说明是根目录的index.php编码出了问题&#xff0c;用备份的源文件退换一下即可。 问题2 问题2&#xff1a;如果出现页面错位现象&#xff0c;可能是某个WP插件引起的问题&#xff0c;这里需要逐步排查插件&#xff0c;或者你刚…

【计算机网络 - 基础问题】每日 3 题(六)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏&…

echo 命令:终端输出文本

一、echo 命令简介 ​echo​命令用于在终端上打印简单的文本消息、变量值或者将文本输出到文件中。 ‍ ​echo​ 命令在脚本编写、简单调试和显示信息时非常有用。可以用来输出状态信息、变量值或者作为其他命令的输入。 ‍ 相关命令&#xff1a;printf 命令比 echo 命令提…

数据可视化与分析:数据时代的关键工具

一、引言 数据可视化与分析是大数据时代中最为重要的技术之一。随着数据量的不断增加&#xff0c;如何有效地理解、解释和利用数据&#xff0c;已经成为各行各业面临的关键挑战。数据可视化通过图表、图形和互动界面将数据以直观的方式呈现&#xff0c;帮助用户快速识别数据中…

redis短信登录模型

基于Session实现登录 &#xff0c;

OpenGL Texture C++ Camera Filter滤镜

基于OpenGL Texture纹理的强大功能&#xff0c;在片段着色器&#xff08;Shader&#xff09;中编写GLSL代码&#xff0c;对YUV的数据进行数据转换从而实现视频编辑软件中的相机滤镜功能。 接上一篇OpenGL Texture C 预览Camera视频的功能实现&#xff0c;本篇来实现Camera滤镜效…

【数据结构】8——图3,十字链表,邻接多重表

数据结构8——图3&#xff0c;十字链表&#xff0c;邻接多重表 文章目录 数据结构8——图3&#xff0c;十字链表&#xff0c;邻接多重表前言一、十字链表结构例子 复杂例子 二、邻接多重表&#xff08;Adjacency Multilist&#xff09;例子 前言 除了之前的邻接矩阵和邻接表 …

Java抽象类和接口的学习了解

目录 1. 抽象类 1.1 抽象类概念 1.2例子 1.3 抽象类语法 1.被 abstract 修饰的类--抽象类 2.抽象类中被 abstract 修饰的方法--抽象方法&#xff0c;该方法不用给出具体的实现体 3.当一个类中含有抽象方法时&#xff0c;该类必须要abstract修饰 4.抽象类也是类&#xff…

PCIe进阶之TL:Address Spaces, Transaction Types, and Usage

1 Transaction Layer Overview 如上图为PCIe设备的一个分层结构,从上层逻辑看,事务层的关键点是: 流水线式的完整的 split-transaction 协议事务层数据包(TLP)的排序和处理基于信用的流控制机制可选支持的数据中毒功能和端到端数据完整性检测功能事务层包含以下内容: TLP…

828华为云征文|部署在线文件管理器 Spacedrive

828华为云征文&#xff5c;部署在线文件管理器 Spacedrive 一、Flexus云服务器X实例介绍1.1 云服务器介绍1.2 产品优势1.3 计费模式 二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置 三、部署 Spacedrive3.1 Spacedrive 介绍3.2 Docker 环境搭建3.3 Spac…

JNI 详细介绍

一 介绍 java调⽤c&#xff0c;c代码可以通过JNIEnv执行java代码。 安卓NDK 已经对JNI环境进行了集成&#xff0c;我们可以通过android studio来快速搭建一个项目。 二 项目搭建 打开android studio 创建工程&#xff0c;创建工程选择模板Native C 三 模板格式介绍 生成的…

基于Python实现的一个电影知识库QA系统

1. 实现效果 1. 图形展示 这是使用echarts.js 来实现的自定义页面的图谱展示&#xff0c;当然还有其他的库也能实现类似的效果&#xff0c;这里看各位的选择。 这里我在每个实体之间都实现了双层关系的绑定&#xff0c;这对于后面实现检索会有点帮助 2. 实体搜索展示 这里…

数字孪生卷进了天气预报行业

在视频中&#xff0c;上一秒主持人还在大屏幕前正常播报天气。下一秒&#xff0c;场景切换&#xff0c;主持人走到旁边&#xff0c;演播室边上呈现出狂风骤雨的街道&#xff0c;随着播报&#xff0c;一棵被台风吹倒的树“砸进”演播室&#xff0c;营造出一种惊险的感觉&#xf…

Java | Leetcode Java题解之第405题数字转换为十六进制数

题目&#xff1a; 题解&#xff1a; class Solution {public String toHex(int num) {if (num 0) {return "0";}StringBuffer sb new StringBuffer();for (int i 7; i > 0; i --) {int val (num >> (4 * i)) & 0xf;if (sb.length() > 0 || val …

Java | Leetcode Java题解之第406题根据身高重建队列

题目&#xff1a; 题解&#xff1a; class Solution {public int[][] reconstructQueue(int[][] people) {Arrays.sort(people, new Comparator<int[]>() {public int compare(int[] person1, int[] person2) {if (person1[0] ! person2[0]) {return person2[0] - perso…

驾驶员注意力分神状态检测系统源码分享

驾驶员注意力分神状态检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of …

springboot医院预约挂号系统 ---附源码73444

目录 1 绪论 1.1 研究背景 1.2研究意义 1.3论文结构与章节安排 2 医院预约挂号系统系统分析 2.1 可行性分析 2.2 系统功能分析 2.3 系统用例分析 2.4 系统流程分析 2.5本章小结 3 医院预约挂号系统总体设计 3.1 系统功能模块设计 3.2 数据库设计 3.4本章小结 4 医…

【文件系统】软硬链接

目录 1. 汇总 ext2 文件系统2. 文件名 与 inode 的关联3. 软硬链接3.1 理解硬链接3.2 理解软链接3.3 软硬链接的应用场景 1. 汇总 ext2 文件系统 新建文件 一个文件一定是在某个路径下创建的&#xff0c;有了路径&#xff0c;就能够知道该新建文件所在分区&#xff0c;然后再查…

在线查看 Android 系统源代码 AOSPXRef and AndroidXRef

在线查看 Android 系统源代码 AOSPXRef and AndroidXRef 1. AOSPXRef1.1. http://aospxref.com/android-14.0.0_r2/1.2. build/envsetup.sh 2. AndroidXRef2.1. http://androidxref.com/9.0.0_r3/2.2. build/envsetup.sh 3. HELLO AndroidReferences 1. AOSPXRef http://aospx…