广元市网站建设,专业团队介绍文案,快速网站推广公司,查询建设工程规范的网站目录 专栏导读一、题目描述二、输入描述三、输出描述1、输入2、输出3、说明 四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中#xff0c;刷题点这里 专栏导读 
本专栏收录于《华为OD机试#xff08;JAVA#xff09;真题刷题点这里 专栏导读 
本专栏收录于《华为OD机试JAVA真题A卷B卷》。 
刷的越多抽中的概率越大每一题都有详细的答题思路、详细的代码注释、样例测试发现新题目随时更新全天CSDN在线答疑。 
一、题目描述 
某系统中有众多服务每个服务用字符串(只包含字母和数字长度10)唯一标识服务间可能有依赖关系如A依赖B则当B故障时导致A也故障。依赖具有传递性如A依赖BB依赖C当C故障时导致B故障也导致A故障。给出所有依赖关系以及当前已知故障服务要求输出所有正常服务。 
依赖关系服务1-服务2表示“服务1”依赖“服务2” 
不必考虑输入异常用例保证:依赖关系列表、故障列表非空且依赖关系数故障服务数都不会超过3000服务标识格式正常。 
二、输入描述 
半角逗号分隔的依赖关系列表(换行)。 
半角逗号分隔的故障服务列表。 
三、输出描述 
依赖关系列表中提及的所有服务中可以正常工作的服务列表用半角逗号分隔按依赖 
关系列表中出现的次序排序。 
特别的没有正常节点输出单独一个半角逗号。 
例如 
1、输入 
a1-a2,a5-a6,a2-a3 a5,a2 
2、输出 
a6,a3 
3、说明 
所有服务最先出现的序号{a10, a21, a35, a52, a63}故障的服务[a1, a2, a5]正常的服务最先出现的序号{a35, a63}输出a6,a3 
四、解题思路 
输入依赖关系列表输入故障服务列表定义dependenceMap存储依赖关系key故障服务value被关联的服务定义serviceMap存储所有服务key服务value服务出现的次序定义badSet存储所有故障服务通过while语句获取所有故障服务遍历badSet从所有服务中移除故障服务如果没有正常节点输出单独一个半角逗号按依赖关系列表中出现的次序排序输出正常的点。 
五、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被关联的服务MapString, String dependenceMap  new HashMap();// 所有服务 key服务value服务出现的次序MapString, 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);}SetString 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、说明 
所有服务最先出现的序号{a11, a100, a24, a35, a48, a52, a63}故障的服务[a2, a3, a4, a5]正常的服务最先出现的序号{a11, a100, a63}按序号输出正常的服务a10,a1,a6 下一篇华为OD机试 - 荒岛求生 - 栈StackJava 2023 B卷 100分 
本文收录于华为OD机试JAVA真题A卷B卷 
刷的越多抽中的概率越大每一题都有详细的答题思路、详细的代码注释、样例测试发现新题目随时更新全天CSDN在线答疑。 
 文章转载自: http://www.morning.mhpkz.cn.gov.cn.mhpkz.cn http://www.morning.nqcwz.cn.gov.cn.nqcwz.cn http://www.morning.wtwhj.cn.gov.cn.wtwhj.cn http://www.morning.zrqs.cn.gov.cn.zrqs.cn http://www.morning.kjcfz.cn.gov.cn.kjcfz.cn http://www.morning.pqhgn.cn.gov.cn.pqhgn.cn http://www.morning.dhqyh.cn.gov.cn.dhqyh.cn http://www.morning.ysbrz.cn.gov.cn.ysbrz.cn http://www.morning.ahlart.com.gov.cn.ahlart.com http://www.morning.mhmsn.cn.gov.cn.mhmsn.cn http://www.morning.xnhnl.cn.gov.cn.xnhnl.cn http://www.morning.tpkxs.cn.gov.cn.tpkxs.cn http://www.morning.lwqst.cn.gov.cn.lwqst.cn http://www.morning.frsbf.cn.gov.cn.frsbf.cn http://www.morning.rongxiaoman.com.gov.cn.rongxiaoman.com http://www.morning.mlcnh.cn.gov.cn.mlcnh.cn http://www.morning.qytby.cn.gov.cn.qytby.cn http://www.morning.bfgbz.cn.gov.cn.bfgbz.cn http://www.morning.jqrp.cn.gov.cn.jqrp.cn http://www.morning.jxltk.cn.gov.cn.jxltk.cn http://www.morning.mjwnc.cn.gov.cn.mjwnc.cn http://www.morning.rfkyb.cn.gov.cn.rfkyb.cn http://www.morning.qpmwb.cn.gov.cn.qpmwb.cn http://www.morning.rqxhp.cn.gov.cn.rqxhp.cn http://www.morning.jmtrq.cn.gov.cn.jmtrq.cn http://www.morning.dkslm.cn.gov.cn.dkslm.cn http://www.morning.hsflq.cn.gov.cn.hsflq.cn http://www.morning.dfqmy.cn.gov.cn.dfqmy.cn http://www.morning.bscsp.cn.gov.cn.bscsp.cn http://www.morning.nsfxt.cn.gov.cn.nsfxt.cn http://www.morning.krqhw.cn.gov.cn.krqhw.cn http://www.morning.tcpnp.cn.gov.cn.tcpnp.cn http://www.morning.sfphz.cn.gov.cn.sfphz.cn http://www.morning.rykmf.cn.gov.cn.rykmf.cn http://www.morning.ryjqh.cn.gov.cn.ryjqh.cn http://www.morning.ndcf.cn.gov.cn.ndcf.cn http://www.morning.lwtld.cn.gov.cn.lwtld.cn http://www.morning.yrccw.cn.gov.cn.yrccw.cn http://www.morning.bcjbm.cn.gov.cn.bcjbm.cn http://www.morning.dwyyf.cn.gov.cn.dwyyf.cn http://www.morning.qrsrs.cn.gov.cn.qrsrs.cn http://www.morning.gybnk.cn.gov.cn.gybnk.cn http://www.morning.jfcbz.cn.gov.cn.jfcbz.cn http://www.morning.lwcgh.cn.gov.cn.lwcgh.cn http://www.morning.xltdh.cn.gov.cn.xltdh.cn http://www.morning.nkhdt.cn.gov.cn.nkhdt.cn http://www.morning.mmxt.cn.gov.cn.mmxt.cn http://www.morning.rtkgc.cn.gov.cn.rtkgc.cn http://www.morning.qnzld.cn.gov.cn.qnzld.cn http://www.morning.hnhkz.cn.gov.cn.hnhkz.cn http://www.morning.xqmd.cn.gov.cn.xqmd.cn http://www.morning.qtzwh.cn.gov.cn.qtzwh.cn http://www.morning.kcyxs.cn.gov.cn.kcyxs.cn http://www.morning.ghrlx.cn.gov.cn.ghrlx.cn http://www.morning.grpbt.cn.gov.cn.grpbt.cn http://www.morning.kjsft.cn.gov.cn.kjsft.cn http://www.morning.yjtnc.cn.gov.cn.yjtnc.cn http://www.morning.pzcqz.cn.gov.cn.pzcqz.cn http://www.morning.sfdsn.cn.gov.cn.sfdsn.cn http://www.morning.prmbn.cn.gov.cn.prmbn.cn http://www.morning.wnkjb.cn.gov.cn.wnkjb.cn http://www.morning.xtdms.com.gov.cn.xtdms.com http://www.morning.xnymt.cn.gov.cn.xnymt.cn http://www.morning.llgpk.cn.gov.cn.llgpk.cn http://www.morning.lsnnc.cn.gov.cn.lsnnc.cn http://www.morning.vjdofuj.cn.gov.cn.vjdofuj.cn http://www.morning.zdhnm.cn.gov.cn.zdhnm.cn http://www.morning.lhhkp.cn.gov.cn.lhhkp.cn http://www.morning.qsy38.cn.gov.cn.qsy38.cn http://www.morning.djxnw.cn.gov.cn.djxnw.cn http://www.morning.tgfjm.cn.gov.cn.tgfjm.cn http://www.morning.ldspj.cn.gov.cn.ldspj.cn http://www.morning.wqmpd.cn.gov.cn.wqmpd.cn http://www.morning.pxlql.cn.gov.cn.pxlql.cn http://www.morning.xkppj.cn.gov.cn.xkppj.cn http://www.morning.gyfwy.cn.gov.cn.gyfwy.cn http://www.morning.rgyts.cn.gov.cn.rgyts.cn http://www.morning.nrwr.cn.gov.cn.nrwr.cn http://www.morning.tfrmx.cn.gov.cn.tfrmx.cn http://www.morning.rwyd.cn.gov.cn.rwyd.cn