华为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在线答疑。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

git合并分支

1、vscode安装插件Git Graph 2、点击右下角分支&#xff0c;比如要把dev分支合并到其他分支 首先dev分支的全部提交了&#xff0c;然后切换到其他分支 3、选择被合并的分支 点提交就好了

中医课堂丨名医面对面,金保方教授专场健康科普交流圆满举行

5月8日下午&#xff0c;李良济特邀金保方教授&#xff0c;在苏州太湖国际高尔夫俱乐部&#xff0c;以“生殖健康漫谈”为主题开展专场科普交流活动&#xff0c;参与的嘉宾表示受益匪浅&#xff0c;反响强烈。 本次活动主要包含了专家讲座、专家答疑义诊&#xff0c;现在就让我…

Java基础编程(高级部分)

1. 类变量和类方法 1.1 什么是类变量 类变量也叫静态变量/静态属性&#xff0c;是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值同样任何一个该类的对象去修改它时,修改的也是同一个变量。 1.2 定义类变量 1.3 访问类变量 类名.类变量名 或者 对…

【GD32H757Z海棠派使用手册】第七讲 FWDG-看门狗实验

7.1 实验内容 通过本实验主要学习以下内容&#xff1a; 独立看门狗的原理 独立看门狗功能介绍 实现独立看门狗功能 7.2 实验原理 7.2.1 看门狗的原理 一般来说&#xff0c;搭配MCU的产品都需要有长期运行的需求&#xff0c;特别像一些工业设备&#xff0c;可能要求运行个…

微信团队开源的跨平台数据库框架 | 开源日报 No.249

Tencent/wcdb Stars: 10.4k License: NOASSERTION wcdb 是由微信开发的跨平台数据库框架。 该项目主要功能、关键特性、核心优势包括&#xff1a; 易于使用ORM&#xff08;对象关系映射&#xff09;WINQ&#xff08;WCDB 语言集成查询&#xff09;高效性能多线程并发支持完备…

element ui的无法关掉的提示弹框

使用element的$alert组件的属性把X去掉和确定按钮和取消按钮去掉&#xff1b; import { MessageBox } from element-ui; MessageBox.alert(AI功能已到期或暂未开启, 友情提示, {showClose: false,showCancelButton: false,showConfirmButton: false }); 如果在router的路由守…

QX------mini51单片机学习------(5)数码管的静态与动态显示

目录 1数码管应用场景 2数码管显示原理 3静态与动态显示 474HC573锁存器工作原理 5上拉电阻的作用 6原理图分析 7实践 1数码管应用场景 2数码管显示原理 图&#xff08;b&#xff09;左边是共阴极&#xff0c;右边是共阳极 GND是公共极&#xff0c;可以用万用表测&am…

C盘文件清理

WinSxS里面的文件是不可删除的。WinSxS下有很多重要的组件&#xff0c;版本也很繁杂&#xff0c;为了保证Windows的正常运行&#xff0c;请确保这些文件一个都不能少。这些文件支撑着mscorwks.dll&#xff0c;没有它们&#xff0c;mscorwks也无法加载。强行删除后可能只有以安全…

NASA数据集——全球土壤顶部 1 厘米土壤湿度的网格估算值25km分辨率

AMSR-E/Aqua L2B Surface Soil Moisture, Ancillary Parms, & QC EASE-Grids V003 简介 该数据集包含土壤顶部 1 厘米土壤湿度的网格估算值&#xff0c;是 AMSR-E 检索足迹的平均值。土壤湿度是通过 AMSR-E/Aqua L2A亮度温度&#xff08;Tb&#xff09;测量值估算的&…

远程连接是什么?

远程连接是指通过网络连接两个或多个设备&#xff0c;实现远程访问、控制或传输数据的技术。它在现代科技发展中起到了重要作用&#xff0c;使得我们可以随时随地与远程设备进行交互、管理和操作。 天联组网是一种高效的远程连接解决方案&#xff0c;它因为操作简单、跨平台应用…

「51媒体」教育论坛会议媒体邀约的资源有哪些

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 中国拥有众多教育方面的媒体资源&#xff0c;这些媒体在邀约时可以用于宣传和推广教育活动、论坛或项目。以下是一些具体的教育媒体邀约资源&#xff1a; 报纸类媒体&#xff1a; 《中…

MySQL库操作 表操作【详细解析】

MySQL MySQL是一个数据库软件 mysql mysql是一个“客户端—服务器”结构的软件 (1) a.客户端&#xff1a;主动发起请求的一方&#xff08;Client&#xff09; b.服务器&#xff1a;被动接收请求的一方&#xff08;Server&#xff09; 客户端和服务器之间通过网络 进行通信 (…

【Stylus详解与引入】

文章目录 Stylus详解与引入一、Stylus简介二、Stylus的特性1. 变量2. 嵌套规则3. 混合&#xff08;Mixins&#xff09;4. 函数5. 条件语句和循环 三、Stylus的引入与配置1. 安装Stylus和stylus-loader2. 配置Webpack3. 在Vue项目中使用Stylus4. 编译Stylus代码四、Stylus的性能…

美国商务部公布数字孪生技术投资计划

文章目录 前言一、主要内容二、相关背景‍‍‍‍前言 5月6日,美国商务部公布了一项价值2.85亿美元的投资计划,这项名为《美国芯片制造研究竞标》(CHIPS Manufacturing USA Institute Competition)的投资计划旨在向符合条件的申请者进行征求招标,协调建立和运营美国芯片制…

LeetCode-2079. 给植物浇水【数组 模拟】

LeetCode-2079. 给植物浇水【数组 模拟】 题目描述&#xff1a;解题思路一&#xff1a;简单的模拟题&#xff0c;初始化为0&#xff0c;考虑先不浇灌每一个植物解题思路二&#xff1a;初始化为n&#xff0c;考虑每一个植物需要浇灌解题思路三&#xff1a;0 题目描述&#xff1a…

量子城域网建设设备系列(三):网络管理系统(NMS)

在量子保密通信网络中&#xff0c;需要对整个网络的设备进行集中管理和统一维护。主要包括对设备的状态监控、异常告警的采集分析、拓扑管理、设备参数配置、业务策略控制等功能。基于这些需求&#xff0c;在实际的工程应用中&#xff0c;我们通常采用量子网络管理系统&#xf…

Java找不到包解决方案

在跟着教程写Spingboot后端项目时&#xff0c;为了加快效率&#xff0c;有时候有的实体文件可以直接粘贴到目录中&#xff0c;此时运行项目会出现Java找不到包的情况&#xff0c;即无法找到导入的实体文件&#xff0c;这是项目没有更新的原因。解决方法&#xff1a; 刷新Maven:…

详解Java Google Guava

详细介绍 Google Guava是Google为Java开发的开源库集合&#xff0c;它提供了丰富的工具类和集合框架的扩展&#xff0c;旨在提高开发效率和代码质量。Guava包括但不限于集合操作、并发编程辅助、缓存机制、字符串处理、I/O操作、原生类型支持、常见算法实现、函数式编程支持、测…

力扣每日一题- 给植物浇水 II -2024.5.9

力扣题目&#xff1a;给植物浇水 II 题目链接: 2105.给植物浇水 II 题目描述 代码思路 根据题目内容&#xff0c;使用双指针从左右两边同时向中间移动&#xff0c;模拟浇水过程即可。 代码纯享版 class Solution {public int minimumRefill(int[] plants, int capacityA, …

FANUC机器人单轴零点标定时提示无法执行零点标定,由于重力补偿已启用,所有机器人轴的脉冲计数必须有效

FANUC机器人单轴零点标定时提示无法执行零点标定,由于重力补偿已启用,所有机器人轴的脉冲计数必须有效 首先,机器人由于长时间断电未使用,6个轴的编码器数据全部丢失,上电后报警SRVO-062, 有关SRVO-062故障报警的相关内容可参考以下链接: FANUC机器人SRVO-062报警原因分…