华为OD机试 - 会议室占用时间段(Java 2024 C卷 100分)

在这里插入图片描述

华为OD机试 2024C卷题库疯狂收录中,刷题点这里

专栏导读

本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷+C卷)》。

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

一、题目描述

现有若干个会议,所有会议共享一个会议室,用数组表示各个会议的开始时间和结束时间,

格式为: [[会议1开始时间,会议1结束时间],[会议2开始时间,会议2结束时间]] 请计算会议室占用时间段。

二、输入描述

[[会议1开始时间,会议1结束时间],[会议2开始时间,会议2结束时间] ]

备注:

会议个数范围: [1,100]

会议室时间段: [1,24]

三、输出描述

输出格式预输入一致,具体请看用例。

[[会议开始时间,会议结束时间],[会议开始时间,会议结束时间]

1、输入

[[1 ,4],[4,5]]

2、输出

[[1,5]]

四、解题思路

这个问题要求我们找出所有会议的时间段的合并,即计算所有会议时间段的并集。这是一个典型的区间合并问题,可以通过如下步骤解决:

  1. 排序: 首先按每个会议的开始时间对会议进行排序。
  2. 合并区间: 遍历排序后的会议列表,对于每个会议,如果它与上一个会议有重叠或相接,则合并这两个会议;如果没有重叠,则开始一个新的会议时间段。
  3. 输出结果: 所有合并后的会议时间段即为会议室的占用时间段。

五、Java算法源码

public class OdTest01 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String input = sc.nextLine();input = input.substring(1,input.length()-1);String[] arr = input.split("],");int n = arr.length;int[][] meetings = new int[n][2];for (int i = 0; i < n; i++) {String[] temp = arr[i].replace("[","").replace("]","").split(",");meetings[i][0] = Integer.valueOf(temp[0].trim());meetings[i][1] = Integer.valueOf(temp[1].trim());}// 进行会议时间的合并List<int[]> mergedMeetings = mergeIntervals(meetings);// 构建输出格式StringBuilder result = new StringBuilder("[");for (int[] meeting : mergedMeetings) {if (result.length() > 1) result.append(", ");result.append("[").append(meeting[0]).append(", ").append(meeting[1]).append("]");}result.append("]");System.out.println(result);}private static List<int[]> mergeIntervals(int[][] intervals) {// 对区间按照开始时间进行排序Arrays.sort(intervals, (a, b) -> a[0] - b[0]);List<int[]> merged = new ArrayList<>();for (int[] interval : intervals) {// 如果列表为空或者当前区间与列表中最后区间不重叠,则直接添加if (merged.isEmpty() || merged.get(merged.size() - 1)[1] < interval[0]) {merged.add(interval);} else {// 否则,合并当前区间与最后一个区间merged.get(merged.size() - 1)[1] = Math.max(merged.get(merged.size() - 1)[1], interval[1]);}}return merged;}
}

六、效果展示

1、输入

[[1,4], [2,5],[7,9], [14,18]]

2、输出

[[1, 5], [7, 9], [14, 18]]

3、说明

时间段[1,4]和[2,5]重叠,合并为[1,5]

在这里插入图片描述


🏆下一篇:华为OD机试 - 简易内存池 - 逻辑分析(Java 2024 C卷 200分)

🏆本文收录于,华为OD机试(JAVA)真题(A卷+B卷+C卷)

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab绘制散点图

在MATLAB中&#xff0c;可以使用scatter函数来绘制散点图。下面是一个简单的例子&#xff0c;说明如何使用scatter函数来绘制散点图。 假设你有一组x坐标和一组y坐标&#xff0c;你想在图上绘制它们&#xff1a; % 创建x和y的随机数据 x randn(1, 100); % 从正态分布中生成…

【iOS】pthread、NSThread

文章目录 前言一、pthread 使用方法pthread 其他相关方法 二、 NSThread创建、启动线程线程相关用法线程状态控制方法NSThread 线程安全和线程同步场景 线程的状态转换 前言 五一这两天准备将GCD相关的知识完&#xff0c;同时NSOperation与NSThread、pthread也是相关知识&…

前端Web开发基础知识

HTML定义 超文本标记语言&#xff08;英语&#xff1a;HyperText Markup Language&#xff0c;简称&#xff1a;HTML&#xff09;是一种用于创建网页的标准标记语言。 什么是 HTML? HTML 是用来描述网页的一种语言。 HTML 指的是超文本标记语言: HyperText Markup LanguageH…

汇编语言——比较两个字符串STRING1和STRING2所含字符是否完全相同,若相同则显示MATCH, 不相同则显示NO MATCH

CMPS 串比较指令&#xff1a; CMPS SRC, DST CMPSB &#xff08;字节&#xff09; CMPSW &#xff08;字&#xff09; 执行操作&#xff1a; ((SI)) - ((DI)) 根据比较结果置条件标志位&#xff1a;相等 ZF1&#xff1b;不等 ZF0 字节操作&#xff1a;(SI)←(SI)1, (DI)←(DI…

如何进行Furion项目的单元测试

进行Furion项目的单元测试的步骤如下&#xff1a; 步骤1&#xff1a;在Furion项目中创建单元测试项目 - 在Furion项目的解决方案中右键单击并选择“添加” -> “新项目” - 在“创建新项目”对话框中&#xff0c;在搜索框中输入“单元测试”&#xff0c;然后选择“单元测试…

window 安装ai 基础环境(yolo8,训练推理等)

步骤: 1. python sdk 3.9以上 2. 显卡驱动 可以使用驱动精灵 直接安装N 卡推荐 3. 安装机器学习套件CUDA cuda 安装在PyTorch 需要根 PyTorch版本一致&#xff0c;我的 win-srv 最高支持 12.1 下载地址&#xff1a; https://developer.nvidia.com/cuda-toolkit-archive…

数据结构——循环结构:for循环

今天是星期五&#xff0c;明天休息&#xff0c;后天补课&#xff0c;然后就是运动会&#xff0c;接着是放假。&#xff08;但这些都和我没关系啊&#xff0c;哭死&#xff01;&#xff09;今天脑袋难得清醒一会儿&#xff0c;主要是醒的比较早吧&#xff0c;早起学了一会&#…

汇编语言——输入两个字数据(16位的数)X,Y,计算Z=X+Y,并把Z的结果显示出来

文章目录 以2进制输入&#xff0c;2进制输出&#xff08;无符号&#xff09;以2进制输入&#xff0c;2进制输出&#xff08;带符号&#xff09;以8进制输入&#xff0c;8进制输出以10进制输入&#xff0c;10进制输出以16进制输入&#xff0c;16进制输出 仅供参考 X、Y的输入可…

Spring MVC 中配置 DispatcherServlet

在Spring MVC中&#xff0c;DispatcherServlet 是前端控制器&#xff0c;负责处理所有的HTTP请求。它是整个Spring MVC框架的核心组件&#xff0c;负责将请求分派给相应的处理器。以下是如何配置DispatcherServlet的详细步骤&#xff1a; 添加依赖&#xff1a; 确保项目中包含…

Windows系统启动Redis

一、下载windows版本Redis 1.1 选择一个使用的版本 在以下地址中选择一个Windows系统可以使用的版本 https://github.com/microsoftarchive/redis/tags 1.2 下载 1.3 解压到文件夹 二、启动Redis 双击redis-server.exe启动Redis 出现以下界面即启动成功 三、测试是否可以使…

Linux第二节--常见的指令介绍集合(持续更新中)

点赞关注不迷路&#xff01;&#xff0c;本节涉及初识Linux第二节&#xff0c;主要为常见的几条指令介绍。 Linux下基本指令 1. ls 指令 语法&#xff1a; ls [选项][目录或文件] 功能&#xff1a;对于目录&#xff0c;该命令列出该目录下的所有子目录与文件。对于文件&#…

php 追加 内容

目录 1. 追加到文件末尾2. 追加到数据库表中3. 追加到数组 在 PHP 中实现数据追加功能通常涉及将新数据添加到已有数据中&#xff0c;比如将新内容附加到文件末尾或将新数据添加到数据库表中。以下是一些常见的实现方式&#xff1a; 1. 追加到文件末尾 追加文字到文件&#xf…

LeetCode //C - 60. Permutation Sequence

60. Permutation Sequence The set [1, 2, 3, …, n] contains a total of n! unique permutations. By listing and labeling all of the permutations in order, we get the following sequence for n 3: “123”“132”“213”“231”“312”“321” Given n and k, re…

某米社区请求data类型multipart_form-data分析

随笔记录 之前未曾遇到请求的Content-Type:multipart/form-data; boundary=----WebKitFormBoundary9Fxpi3Dvlnhm3MKq,今天就简单是根据目标网站进行分析下,目标站点是:aHR0cHM6Ly93ZWIudmlwLm1pdWkuY29tL3BhZ2UvaW5mby9taW8vbWlvL3BjU2VhcmNoP2Zyb21QYXRobmFtZT1taW9Cb2FyZ…

边缘计算含义与应用简析

边缘计算概述 边缘计算使数据存储和处理靠近生成或收集数据的位置&#xff0c;而不是在位于数千公里的服务器上。它将通过保持灵活性在边缘无缝可靠地部署服务。它比云计算更安全&#xff0c;因为不需要传输数据。因此&#xff0c;在将数据从边缘移动到云端时&#xff0c;不用…

eSIM Network搭建指南

有任何关于GSMA\IOT\eSIM\RSP\业务应用场景相关的问题&#xff0c;欢迎W: xiangcunge59 一起讨论, 共同进步 (加的时候请注明: 来自CSDN-iot).

用自动化工具轻松吸引更多粉丝关注

在当今这个信息爆炸的时代&#xff0c;如何让自己的品牌、产品或者个人在众多信息中脱颖而出&#xff0c;吸引更多的粉丝关注&#xff0c;成为了许多人面临的问题。而自动化工具&#xff0c;就是我们解决这个问题的利器。 首先&#xff0c;我们要明白&#xff0c;吸引粉丝关注…

【笔记】Simulink与Workbench交互+自定义m函数封装为Simulink模块

以如下三角函数为例&#xff0c;说明建模方法 ya*sin(b*2*pi*uc);0.总模型总代码 总模型 总代码&#xff1a; clc clear close allt_all10; a10; b1; c0;%pi/2; delta_t0.01; simOutsim(test240430); out_tsimOut.tout; out_y1simOut.yout{1}.Values; out_y2simOut.yout{2}.…

【C 数据结构】深度优先搜索、广度优先搜索

文章目录 【 1. DFS 深度优先搜索 】1.1 基本原理1.2 C 实现 【 2. BFS 广度优先搜索 】2.1 基本原理2.2 C 实现 【 3. 深度优先生成树、广度优先生成树 】【 4. 深度优先生成森林、广度优先生成森林 】4.1 深度优先生成森林4.2 广度优先生成森林 对存储的图中的顶点进行遍历搜…

告诉我们事实:用知识图谱增强大语言模型以实现事实感知的语言建模

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 论文标题&#xff1a;Give Us the Facts: Enhancing Large Language Models with Knowledge Graphs for Fact-aware Language Modeling 论文链接&#xff1a;https://arxiv.org/abs/2306.11489 论文作…