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

pdomysql wordpressseo网站排名优化教程

pdomysql wordpress,seo网站排名优化教程,昆明做网站建设怎么样,东莞企业黄页题目概述 智能手机在方便我们生活的同时,也侵占了大量时间。手机App防沉迷系统旨在帮助用户合理规划手机App使用时间,确保在正确的时间做正确的事。系统的主要功能包括: 在一天24小时内,可注册每个App的允许使用时段。一个时段只…

题目概述

智能手机在方便我们生活的同时,也侵占了大量时间。手机App防沉迷系统旨在帮助用户合理规划手机App使用时间,确保在正确的时间做正确的事。系统的主要功能包括:

  • 在一天24小时内,可注册每个App的允许使用时段。
  • 一个时段只能使用一个App,即不能同时注册多个App在同一时间段内使用。
  • App有优先级,数值越高,优先级越高。注册时,如果高优先级的App时间和低优先级的时段有冲突,系统会自动注销低优先级的时段;如果App的优先级相同,则后添加的App不能注册。

编程实现

编程实现时,需要处理输入数据,包括App的数量、每个App的注册信息(名称、优先级、起始时间、结束时间),并根据输入的时间点返回该时间点可用的App名称。如果时间点没有注册任何App,则返回“NA”。


运行示例解析

以下是一个具体的运行示例及其解析:

输入示例
2
App1 1 09:00 10:00
App2 2 09:10 09:30
09:20
解析过程
  1. 读取输入

    • 第一行表示要注册的App数量,这里是2。
    • 接下来两行是App的注册信息:
      • App1,优先级1,注册时段09:00-10:00。
      • App2,优先级2,注册时段09:10-09:30。
    • 最后一行是查询时间点,这里是09:20。
  2. 处理注册信息

    • 根据注册信息,将App及其相关信息存储起来,并检查时间冲突和优先级。
    • 在这个例子中,App1和App2的注册时段有冲突(09:10-09:30重叠)。由于App2的优先级(2)高于App1(1),系统会注销App1在该时间段的注册,只保留App2的注册信息。
  3. 查询时间点

    • 查询时间为09:20,根据已注册的App信息,此时可用的App是App2。
输出结果
App2

编程注意事项

  • 输入数据的格式和范围需要严格检查,确保符合题目要求。
  • 时间处理时,需要注意起始时间和结束时间的比较,以及注册信息中的时间段是否包含起始时间点但不包含结束时间点。
  • 优先级处理时,需要确保高优先级的App能够覆盖低优先级的App的注册信息。
  • 如果存在多个App在同一时间点冲突且优先级相同的情况,需要按照题目要求处理(如后添加的App不能注册)。

代码实现

import java.util.*;public class AppScheduler {private final Map<String, Integer> appPriorityMap;private final Map<Integer, String> timeSlotMap;public AppScheduler() {appPriorityMap = new HashMap<>();timeSlotMap = new TreeMap<>();}/*** 注册应用程序的优先级和运行时间* * @param appName 应用程序的名称* @param priority 应用程序的优先级,数值越小优先级越高* @param startTime 应用程序开始运行的时间(格式为"HH:mm")* @param endTime 应用程序结束运行的时间(格式为"HH:mm")*/public void registerApp(String appName, int priority, String startTime, String endTime) {// 将开始时间和结束时间转换为小时数int startHour = parseTime(startTime);int endHour = parseTime(endTime);// 如果应用程序还不在优先级映射中,直接添加if (!appPriorityMap.containsKey(appName)) {appPriorityMap.put(appName, priority);} else {// 如果应用程序已经在优先级映射中,只有当新优先级更高时才更新int currentPriority = appPriorityMap.get(appName);if (priority < currentPriority) {return;}appPriorityMap.put(appName, priority);}// 遍历应用程序的运行时间,尝试在时间槽映射中注册for (int i = startHour; i < endHour; i++) {// 如果时间槽已经被占用,只有当新优先级更高时才替换if (timeSlotMap.containsKey(i)) {String existingAppName = timeSlotMap.get(i);int existingPriority = appPriorityMap.get(existingAppName);if (priority > existingPriority) {timeSlotMap.put(i, appName);}} else {// 如果时间槽未被占用,直接注册timeSlotMap.put(i, appName);}}}/*** 根据查询时间获取应用程序名称* 此方法用于根据给定的查询时间确定并返回对应的应用程序名称如果在给定的时间段内找不到确切的应用程序,则返回"NA"* * @param queryTime 查询时间,将被解析以确定对应的时间段* @return 在指定时间段内运行的应用程序的名称,如果找不到则返回"NA"*/public String getAppAtTime(String queryTime) {// 解析查询时间,返回对应的小时数int queryHour = parseTime(queryTime);// 根据查询时间对应的小时数,在时间槽映射中查找对应的应用程序名称,如果找不到,则默认返回"NA"return timeSlotMap.getOrDefault(queryHour, "NA");}/*** 解析时间字符串为分钟数* * @param time 时间字符串,格式为"hh:mm",其中hh为小时数,mm为分钟数* @return 从午夜开始到指定时间的总分钟数*/private int parseTime(String time) {// 将时间字符串按":"分割,得到小时和分钟部分String[] parts = time.split(":");// 计算总分钟数,小时数乘以60加上分钟数return Integer.parseInt(parts[0]) * 60 + Integer.parseInt(parts[1]);}/*** 主函数,用于处理应用程序调度器的输入和输出* @param args 命令行参数*/public static void main(String[] args) {// 创建Scanner对象,读取系统输入Scanner scanner = new Scanner(System.in);// 读取并存储输入的程序数量int numApps = scanner.nextInt();// 消费掉输入中的换行符,准备读取下一行数据scanner.nextLine();// 创建应用程序调度器实例AppScheduler scheduler = new AppScheduler();// 循环读取每个应用程序的注册信息,并注册到调度器中for (int i = 0; i < numApps; i++) {// 读取应用程序名称、优先级、开始时间和结束时间String appName = scanner.next();int priority = scanner.nextInt();String startTime = scanner.next();String endTime = scanner.next();// 在调度器中注册应用程序scheduler.registerApp(appName, priority, startTime, endTime);}// 读取查询的时间点String queryTime = scanner.next();// 输出在查询时间点正在运行的应用程序信息System.out.println(scheduler.getAppAtTime(queryTime));}}

解析步骤

1、定义数据结构:

  • appPriorityMap:存储 App 名称和优先级。
  • timeSlotMap:存储时间段和对应的 App 名称。

2、处理输入数据:

  • 读取输入并解析。

3、注册 App:

  • 根据优先级和时间冲突处理注册信息。

4、查询 App:

  • 根据时间点查询可用的 App 名称。
示例运行
输入示例
2  
App1 1 09:00 10:00  
App2 2 09:10 09:30  
09:20
输出结果
App2
http://www.mmbaike.com/news/25897.html

相关文章:

  • 遵义页面设计制作强强seo博客
  • 恒锐奇 做网站全网营销整合推广
  • 深圳知名网站建设平台短信营销
  • wordpress主题雪人yeti1.9.2网站优化公司排名
  • 导购类网站怎么做的沈阳专业关键词推广
  • 惠州悦商做网站厦门seo代理商
  • 网站开发小工具商业网站设计
  • go 语言 做网站网站优化策划书
  • 上海网站建设公司电话最新国际新闻 大事件
  • 专业微信网站建设公司首选北京网络seo经理
  • 网站规划课程设计模板如何做百度免费推广
  • 网站做代理还可以刷水吗天津抖音seo
  • 网站开发电销常遇到问题智能建站
  • 外贸网站怎么注册企业网站建设的一般要素
  • 手机网站开发费用流量精灵网页版
  • 徐东网站建设公司网络营销五种方法
  • 网站建设那家好软文推广多少钱一篇
  • 怎么找做网站的刷关键词排名系统
  • 购物网站后台管理系统百度投诉电话人工服务总部
  • 永州城乡建设网站关键词搜索优化外包
  • 速卖通跨境电商官网企业关键词排名优化哪家好
  • 日照人才网网站推广优化是什么意思
  • wordpress添加社交媒体网站推广优化怎么做最好
  • 网站建站的尺寸想做网络推广的公司
  • 怎么去营销自己的产品网站外链的优化方法
  • 湖南智能网站建设推荐长沙网站seo分析
  • 视频网站开发视频百度权重等级
  • 镇江高端网站建设工作室深圳市文化广电旅游体育局
  • 吉林网站建设合肥网络优化推广公司
  • 南通企业网站怎么建设上海网络关键词优化