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

news/2024/5/21 0:47:47

在这里插入图片描述

华为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.mrgr.cn/p/84222645

相关文章

Java中的线程池

CPU有限&#xff0c;一个CPU只能执行一个线程&#xff0c;在有限的资源下&#xff0c;大量的线程都在等待。通过线程池去管理、创建线程。 一、线程池的核心参数&#xff08;七个&#xff09; 救急线程 非核心线程 临时线程 流程&#xff1a;当任务提交过来之后&#xff0c…

2024年3月份宠物行业线上市场数据分析:市场呈现出精细化、品质化趋势

近些年来&#xff0c;养宠物的家庭越来越多&#xff0c;宠物经济也逐渐衍生开来。宠物经济主要是围绕宠物产生的一整条产业链&#xff0c;包括宠物食品、宠物家居、宠物美容和最近火起来的宠物保险等多个领域。目前随着居民人均收入的提高&#xff0c;宠物市场也得到稳步发展。…

【NodeMCU实时天气时钟温湿度项目 1】连接点亮SPI-TFT屏幕和UI布局设计

前言 从今天开始&#xff0c;我们详解介绍制作实时天气时钟项目的方法步骤&#xff0c;主要分以下几个专题分别进行&#xff1a;&#xff08;1&#xff09;连接点亮SPI-TFT屏幕和UI布局设计&#xff1b;&#xff08;2&#xff09;NodeMCU的WIFI模式设置及连接&#xff1b;&…

docker搭建mysql集群实现主从复制

前言 随着业务的增长&#xff0c;一台数据服务器已经满足不了需求了&#xff0c;负载过重。这个时候就需要减压了&#xff0c;实现负载均衡和读写分离&#xff0c;一主一丛或一主多从。 主服务器只负责写&#xff0c;而从服务器只负责读&#xff0c;从而提高了效率减轻压力。 …

1-zabbix概述

1.zabbix概述 zabbix支持的监控方式: agent:通过代理程序进行监控,如果被监控对象支持对应的agent,推荐首选这种方式。 ssh/telnet:通过远程控制协议进行通讯,比如ssh或者telnet。 SNMP:通过SNMP协议(简单网络管理协议)与被监控对象进行通讯,用这个方式监控路由器和交…

6-监控类型_ZBX_JMX_SNMP_IPMI

6.监控类型 ZBX JMX SNMP IPMIZBX 监控类型: * 作用:ZBX 监控类型是 Zabbix 自身的一种监控方式,它通过 Zabbix Agent 主动采集被监控设备的性能数据,并将数据发送给 Zabbix 服务器进行分析和显示。 * 特点:ZBX 监控类型能够实时地、高效地监控主机,适用于需要精细控制和…

百面算法工程师 | 支持向量机面试相关问题——SVM

本文给大家带来的百面算法工程师是深度学习支持向量机的面试总结&#xff0c;文章内总结了常见的提问问题&#xff0c;旨在为广大学子模拟出更贴合实际的面试问答场景。在这篇文章中&#xff0c;我们还将介绍一些常见的深度学习算法工程师面试问题&#xff0c;并提供参考的回答…

Qt QInputDialog详解

1.简介 QInputDialog是一个对话框类&#xff0c;用于从用户那里获取一个单一的值。这个值可以是字符串、数字、或者一个列表中的选项。QInputDialog提供了一个方便的方式来快速创建一个输入对话框&#xff0c;无需自己从头开始构建。 QInputDialog支持多种输入类型&#xff1…

cluster_网络

cluster 网络service 网络 当service和endpoint被创建时,kube-proxy会自动创建相应的转发规则,使得访问service的请求被转发到endpoint kube-api-server --service-cluster-ip-range ipNet(Default:10.0.0.0/24)

js逆向) 某音cookie中的__ac_signature

原文链接:https://mp.weixin.qq.com/s/NJjU7dqA1g0-_xFmr1nrIg 前言 上一篇文章测试了多个补环境的框架(多个开源的js补环境框架测试),这篇来说一下具体怎么补。用__ac_signature做测试,这个相对简单一点。 逆向 先定位cookie生成的位置,清空cookie然后刷新网页,可以看到有…

开源免费的定时任务管理系统:Gocron

Gocron&#xff1a;精准调度未来&#xff0c;你的全能定时任务管理工具&#xff01;- 精选真开源&#xff0c;释放新价值。 概览 Gocron是github上一个开源免费的定时任务管理系统。它使用Go语言开发&#xff0c;是一个轻量级定时任务集中调度和管理系统&#xff0c;用于替代L…

Outrageously Large Neural Networks The Sparsely-Gated Mixture-of-Experts Layer

目录概MoE训练Shazeer N., Mirhoseini A., Maziarz K., Davis A., Le Q., Hinton G. and Dean J. Outrageously large neural networks: The sparsely-gated mixture-of-experts layer. ICLR, 2017.概 Mixture-of-Experts (MoE). MoE通过一 gating network 选择不同的 expert: …

什么样的人能上百度词条

百度百科是一个向所有互联网用户开放的平台&#xff0c;任何人都可以创建或编辑词条。然而&#xff0c;并不是所有的人物或事物都能被收录到百度百科中&#xff0c;它有一定的收录标准和审结的关于哪些人或事物能上百度百科的条件和流程。 百度百科的收录标准 知名度和影响力&…

PV-PVC

PV & PVC https://blog.csdn.net/bdkl9998/article/details/106304255PersistentVolume(PV) 是由管理员设置的存储,是集群的一部分,它不属于任何命名空间 PV的生命周期独立于使用它的pod的生命周期 PV更像是一种储备资源,先创建,有PVC需要它时才会被使用 PV可以是多种类…

emptyDir-gitRepo

emptyDir & gitRepo k8s存储类型分类(卷的类型) 临时存储 emptyDir 用于存储临时数据的简单空目录 gitRepo 通过检出Git仓库的内容来初始化的卷持久存储 hostPath 用于将目录从工作节点的文件系统挂载到pod中 nfs …

STM32 ADC学习

ADC Analog-to-Digital Converter&#xff0c;即模拟/数字转换器 常见ADC类型 分辨率和采样速度相互矛盾&#xff0c;分辨率越高&#xff0c;采样速率越低。 ADC的特性参数 分辨率&#xff1a;表示ADC能辨别的最小模拟量&#xff0c;用二进制位数表示&#xff0c;比如8,10…

中间件集群部署

中间件集群部署中间件集群部署 1)反向网关配置 2)运行反向网关和中间件,开启顺序不分先后3)通过反向网关,以指定负载均衡方式访问中间件 本文来自博客园,作者:{咏南中间件},转载请注明原文链接:https://www.cnblogs.com/hnxxcxg/p/18183673

机台数据管控怎么做,能够提高效率促进企业快速发展?

机台数据管控是制造企业信息化管理的重要组成部分&#xff0c;它涉及对生产设备&#xff08;机台&#xff09;所产生的数据进行有效的收集、存储、处理和应用。良好的机台数据管控能够帮助企业提高生产效率、降低成本、优化资源配置以及保障生产安全。以下是机台数据管控的几个…

自定义表单工作流的优势介绍

今天,就跟大家一起分享低代码技术平台以及自定义表单工作流的相关知识。当前,应用低代码技术平台可以助力企业提高效率,降低开发成本,实现个性化场景定制,因而越来越得到了客户的信赖与喜爱。很多客户朋友询问自定义表单工作流的优势和特点,为了帮助大家解决这个疑问,今…

746-便携式8路高频电压电流信号测试仪

便携式8路高频电压电流信号测试仪一、平台简介便携式手提8路高频电压电流信号测试仪,以FPGA AD卡和X86主板为基础,构建便携式的手提设备。FPGA AD卡是以Kintex-7XC7K325T PCIeX4的AD卡,支持8路24bit AD采集。北京太速科技,平台默认操作系统为win7 64位系统;具备丰富的外设…