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

加工平台推荐长尾词seo排名优化

加工平台推荐,长尾词seo排名优化,wordpress 链接修改插件,猪八戒设计平台官网目录 专栏导读一、题目描述二、输入描述三、输出描述1、输入2、输出3、说明 四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题&a…

在这里插入图片描述

目录

    • 专栏导读
    • 一、题目描述
    • 二、输入描述
    • 三、输出描述
      • 1、输入
      • 2、输出
      • 3、说明
    • 四、解题思路
    • 五、Java算法源码
    • 六、效果展示
      • 1、输入
      • 2、输出
      • 3、说明

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

专栏导读

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

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

一、题目描述

某系统中有众多服务,每个服务用字符串(只包含字母和数字,长度<=10)唯一标识,服务间可能有依赖关系,如A依赖B,则当B故障时导致A也故障。依赖具有传递性,如A依赖B,B依赖C,当C故障时导致B故障,也导致A故障。给出所有依赖关系,以及当前已知故障服务,要求输出所有正常服务。

依赖关系:服务1-服务2表示“服务1”依赖“服务2”

不必考虑输入异常,用例保证:依赖关系列表、故障列表非空,且依赖关系数,故障服务数都不会超过3000服务标识格式正常。

二、输入描述

半角逗号分隔的依赖关系列表(换行)。

半角逗号分隔的故障服务列表。

三、输出描述

依赖关系列表中提及的所有服务中可以正常工作的服务列表,用半角逗号分隔,按依赖

关系列表中出现的次序排序。

特别的,没有正常节点输出单独一个半角逗号。

例如:

1、输入

a1-a2,a5-a6,a2-a3
a5,a2

2、输出

a6,a3

3、说明

  • 所有服务+最先出现的序号:{a1=0, a2=1, a3=5, a5=2, a6=3}
  • 故障的服务:[a1, a2, a5]
  • 正常的服务+最先出现的序号:{a3=5, a6=3}
  • 输出a6,a3

四、解题思路

  1. 输入依赖关系列表;
  2. 输入故障服务列表;
  3. 定义dependenceMap,存储依赖关系,key:故障服务,value:被关联的服务;
  4. 定义serviceMap,存储所有服务,key:服务,value:服务出现的次序;
  5. 定义badSet,存储所有故障服务;
  6. 通过while语句,获取所有故障服务;
  7. 遍历badSet,从所有服务中移除故障服务;
  8. 如果没有正常节点,输出单独一个半角逗号;
  9. 按依赖关系列表中出现的次序排序,输出正常的点。

五、Java算法源码

public static void main(String[] args) {Scanner sc = new Scanner(System.in);String[] arr = sc.nextLine().split(",");// 故障服务列表String[] badArr = sc.nextLine().split(",");// key:故障服务,value:被关联的服务Map<String, String> dependenceMap = new HashMap<>();// 所有服务 key:服务,value:服务出现的次序Map<String, Integer> serviceMap = new HashMap<>();int idx = 0;for (String service : arr) {String[] temp = service.split("-");dependenceMap.put(temp[1], temp[0]);serviceMap.putIfAbsent(temp[0], idx++);serviceMap.putIfAbsent(temp[1], idx++);}Set<String> badSet = new HashSet<>();for (int i = 0; i < badArr.length; i++) {String bad = badArr[i];badSet.add(bad);// 获取所有故障服务while (dependenceMap.containsKey(bad)) {bad = dependenceMap.get(bad);badSet.add(bad);}}System.out.println("所有服务+最先出现的序号:" + serviceMap);System.out.println("故障的服务:" + badSet);// 正常的服务 = 所有服务 - 故障的服务badSet.forEach(x -> serviceMap.remove(x));System.out.println("正常的服务+最先出现的序号:" + serviceMap);// 没有正常节点输出单独一个半角逗号if(serviceMap.size()==0){System.out.println(",");return;}// 按依赖关系列表中出现的次序排序输出正常的点StringJoiner stringJoiner = new StringJoiner(",");new ArrayList<>(serviceMap.entrySet()).stream().sorted(Comparator.comparingInt(Map.Entry::getValue)).forEach(x -> stringJoiner.add(x.getKey()));System.out.println(stringJoiner);
}

六、效果展示

1、输入

a10-a1,a5-a6,a2-a3,a6-a1,a4-a3,a3-a5
a5,a2

2、输出

a10,a1,a6

3、说明

  • 所有服务+最先出现的序号:{a1=1, a10=0, a2=4, a3=5, a4=8, a5=2, a6=3}
  • 故障的服务:[a2, a3, a4, a5]
  • 正常的服务+最先出现的序号:{a1=1, a10=0, a6=3}
  • 按序号输出正常的服务a10,a1,a6

在这里插入图片描述


🏆下一篇:华为OD机试 - 荒岛求生 - 栈Stack(Java 2023 B卷 100分)

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

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

在这里插入图片描述

http://www.mnyf.cn/news/46114.html

相关文章:

  • 网站内做全文搜索做网站哪家公司比较好而且不贵
  • 动态数据库网站东莞寮步最新通知
  • 大凤号 网站建设怎样建网站卖东西
  • 怎么做网站主导航seo关键词排名优化系统
  • 网站设计对网站建设有哪些意义?怎么做品牌推广和宣传
  • 做私活 网站最近几天的重大新闻事件
  • 做网站开发需要的英语水平百度搜索引擎优化的方法
  • 他人委托我做网站网页设计代做
  • 山东省建设厅执业注册中心网站深圳优化网站
  • pexels免费素材网站南昌百度快速排名提升
  • 刚刚大连发布紧急通知上海seo培训
  • 微信广告朋友圈投放需要优化的网站有哪些
  • 网站开发的教学网站百度搜索推广
  • 安徽省建设工程信息网官方网站百度非企渠道开户
  • 百度企业网站建设费用2024疫情最新消息今天
  • 专做自驾游的网站软文写作技巧及范文
  • 做网站一个月20万企业邮箱格式
  • 如何判断网站数据库类型优帮云查询数据云查询
  • 去视频网站做编辑器免费注册网站有哪些
  • 丽水网站建设公司如何查询百度收录
  • 关于网站建设的简历网络营销组织的概念
  • 做家教有什么网站微信营销推广的方式有哪些
  • 做地产网站哪家好舆情网站直接打开的软件
  • 个人网站制作 教程如何做平台推广
  • 湖南省建设网站seo引擎优化方案
  • 有什么网站可以自己做书seo快速排名外包
  • 杭州蚂蚁 做网站的公司常州百度推广代理
  • asia 域名 知名网站安徽seo推广
  • 关于政府网站的建设东莞网站制作的公司
  • 广州网站开发定制公司青岛seo推广专员