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

天津网站推广优化网络营销和网上销售的区别

天津网站推广优化,网络营销和网上销售的区别,网站建设费入什么科目2018,常州网站设计制作题目概述 智能手机在方便我们生活的同时,也侵占了大量时间。手机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.tj-hxxt.cn/news/21389.html

相关文章:

  • 门店到什么地步可以做网站seo三人行论坛
  • 北京城乡建设委员会官方网站优化电池充电什么意思
  • 网站输入字符 显示出来怎么做怎么样自己创建网站
  • ps案例教程网站外贸谷歌推广怎么样
  • html网站模板免费下载独立站怎么建站
  • wordpress网站自适应长沙百度推广开户
  • 河南网站优化要多少钱百度软件中心下载
  • 网站怎么推广运营南昌seo排名
  • 网易工作做网站工资奖金高吗2022最新国际新闻10条简短
  • 网站建设需要政府集中采购吗乔拓云网微信小程序制作
  • 自动做网站百度关键词优化推广
  • Seo自己做网站广东seo网站推广
  • 什么公司做网站最好seo咨询常德
  • 四川住房和城乡建设厅网站官网a5站长网网站交易
  • 做地方网站赚钱吗阿里云空间+1对1私人专属设计师
  • 网络网站开发设计今日最新体育新闻
  • 建设视频网站流量百度提交入口网址截图
  • 网站怎么做图片动态图片不显示了优化百度搜索
  • 江西中企动力做的网站数据分析师培训机构推荐
  • 建站行业的乱象方象科技的企业愿景
  • 如何登陆建设银行信用卡网站百度seo排名点击器app
  • 模版网站可以做seo吗seo优化必备技巧
  • wordpress几万条数据响应式网站 乐云seo品牌
  • 王野天个人资料seo优化名词解释
  • 南昌商城网站建设公司sem账户托管外包
  • 海创网站建设郑州千锋教育培训机构怎么样
  • 阿里云备案 网站备案域名购买外贸seo优化公司
  • 做vlogger的网站有哪些今日最新闻
  • 网站开发 需要用到什么软件什么网站可以免费推广
  • 一个网站需要多少空间培训班该如何建站