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

华为OD机试 - 手机App防沉迷系统(Java 2024 C卷 100分)

在这里插入图片描述

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

专栏导读

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

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

一、题目描述

智能手机方便了我们生活的同时,也侵占了我们不少的时间。“手机Ap防沉迷系统” 能够让我们每天合理的规划手机App使用时间,在正确的时间做正确的事。

它的大概原理是这样的:

1、在一天24小时内,可注册每个App的允许使时段;

在这里插入图片描述

2、一个时间段只能使用一个APP, 不能在同时注册App2 和 App3;

在这里插入图片描述

3、App有优先级,数值越高,优先级越高。注册使用时段时,如果高优先级的App时间和低优先级的时段有冲突,则系统会自动注销低优先级的时段;

如果App的优先级相同,则后添加的App不能注册。

在这里插入图片描述
请编程实现,根据输入数据注册App,并根据输入的时间点,返回时间点注册的App名称,如果该时间点没有注册任何App,请返回字符串“NA"。

数据说明如下

  1. N行注册数据以空格分隔,四项数依次表示: App名称、优先级、起始时间,结束时间
  2. 优先级1-5,数字值越大,优先级越高
  3. 时间格式HH:MM,小时和分钟都是两位,不足两位前面补0
  4. 起始时间需小于结束时间,否则注册不上
  5. 注册信息中的时间段包含起始时间点,不包含结束时间点

二、输入描述

第一行表示注册的App数N

第二部分包括N 行,每行表示一条App注册数据

最后一行输入一个时间点,程序即返回注册点可App

三、输出描述

输出一个字符串,表示App名称,或NA表示空闲时间。

1、输入

2
App1 1 09:00 10:00
App2 2 09:10 09:30
09:20

2、输出

App2

3、说明

ApP1和App2的时段有冲突,App2优先级高,注册App2之后,App1自动注销,因此输出App2

四、解题思路

分析题目,简单概括如下:

  1. 注册信息中的时间段包含起始时间点,不包含结束时间点
  2. 如果高优先级的App时间和低优先级的时段有冲突,则系统会自动注销低优先级的时段;
  3. 如果App的优先级相同,则后添加的App不能注册。

五、Java算法源码

public class Test02 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int N = Integer.valueOf(sc.nextLine());List<String[]> arrList = new ArrayList<>();for (int i = 0; i < N; i++) {String[] arr = sc.nextLine().split(" ");arrList.add(arr);}int time = transfer(sc.nextLine());// 目标App名称String target = "NA";// 符合要求的最高优先级int maxLevel = 0;for (int i = 0; i < arrList.size(); i++) {String[] arr = arrList.get(i);// 注册信息中的时间段包含起始时间点,不包含结束时间点if(time >= transfer(arr[2]) && time < transfer(arr[3])){/*** 如果高优先级的App时间和低优先级的时段有冲突,则系统会自动注销低优先级的时段;* 如果App的优先级相同,则后添加的App不能注册。* 所以此处后遍历的大于maxLevel,才会取值*/if(maxLevel < Integer.valueOf(arr[1])){// 符合要求的最高优先级maxLevel = Integer.valueOf(arr[1]);// 目标App名称target = arr[0];}}}System.out.println(target);}private static int transfer(String time){return Integer.valueOf(time.replace(":",""));}
}

六、效果展示

1、输入

4
App1 1 09:00 10:00
App2 2 09:10 09:30
App3 3 09:15 09:20
App4 3 08:00 09:00
09:15

2、输出

App3

3、说明

符合要求的APP有App1、App2、App3。

满足要求的前提下,等级最高的是App3。

在这里插入图片描述


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

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

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

在这里插入图片描述

http://www.lryc.cn/news/345085.html

相关文章:

  • 搜维尔科技:光学动作捕捉系统用于城市公共安全智慧感知实验室
  • 保研面试408复习 4——操作系统、计网
  • 实战攻防中关于文档的妙用
  • 【使用ChatGPT的API之前】OpenAI API提供的可用模型
  • 【C语言】模拟实现深入了解:字符串函数
  • 钩子函数onMounted定义了太多访问MySQL的操作 导致数据库异常
  • Excel文件解析---超大Excel文件读写
  • TypeScript基础:类型系统介绍
  • 【Unity】Unity项目转抖音小游戏(一) 项目转换
  • element-ui 中修改loading加载样式
  • QT登录界面,(页面的切换)
  • 计算机毕业设计 | vue+springboot汽车销售管理系统(附源码)
  • 一款开源的原神工具箱,专为现代化 Windows 平台设计,旨在改善桌面端玩家的游戏体验
  • python日常消费数据占比分析总结年消费方向
  • MySQL变量的浮点数问题处理
  • MWeb Pro for Mac:功能强大的Markdown博客编辑器
  • 基于FPGA实现的HDMI TO MIPI扩展显示器方案
  • 2024年美国市场亚太游戏品牌数字广告洞察报告
  • DDD面试题:DDD聚合和表的对应关系是什么 ?(来自蚂蚁面试)
  • 【华为】路由策略小实验
  • docker安装elasticsearch:7.17.21
  • 10.Java对象内置结构
  • 【ITK配准】第十五期 基于运动算法的可变形配准样例
  • CSP-j 计算机硬件
  • Java中使用RediSearch进行高效数据检索
  • NASA数据集——全球土壤顶部 1 厘米土壤湿度的网格估算值25km分辨率
  • 翼支付——风控场景中图模型的范式变迁
  • Edge视频增强功能
  • C++ 概览并发
  • 04-19 周四 GitHub CI 方案设计