华为OD机试统一考试D卷C卷 - 电脑病毒感染

OD统一考试(C卷)

分值: 100分

题解: Java

题目描述:

一个局域网内有很多台电脑,分别标注为0 - N-1的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用t表示。其中网络内一个电脑被病毒感染,其感染网络内所有的电脑需要最少需要多长时间。如果最后有电脑不会感染,则返回-1给定一个数组times表示一个电脑把相邻电脑感染所用的时间。如图:path[i]= {i,j, t} 表示电脑i->j 电脑i上的病毒感染j,需要时间t。输入描述:

432 1 12 3 13 4 12

输出描述:

2

补充说明:

第一个参数:局域网内电脑个数N 1<=N<=200;第二个参数:总共多少条网络连接第三个 1 2 1 表示1->2时间为1第七行:表示病毒最开始所在的电脑号1

示例1

输入:

4
3
2 1 1
2 3 1
3 4 1
2

输出:

2

import java.util.*;
 
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
 
        int computer_nums = Integer.parseInt(scanner.nextLine().trim());
        int link_nums = Integer.parseInt(scanner.nextLine().trim());
        Map<Integer, List<int[]>> network = new HashMap<>();
 
        for (int item = 0; item < link_nums; item++) {
            String line = scanner.nextLine().trim();
            String[] values = line.split(" ");
            int i = Integer.parseInt(values[0]);
            int j = Integer.parseInt(values[1]);
            int k = Integer.parseInt(values[2]);
 
            if (network.cont

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

机试E卷D卷刷题日记 文章被收录于专栏

机试刷题记录

全部评论

相关推荐

9.12&nbsp;一面结束后半小时飞速约了二面,9.14&nbsp;二面-&nbsp;自我介绍-&nbsp;为什么读研-&nbsp;为什么转专业-&nbsp;你对大数据的理解-&nbsp;介绍一下实习组内的分工、数仓架构-&nbsp;以商品域为例,数据的模型/表有哪些,从哪些角度评价数据模型-&nbsp;你们组具体的宏观的业务流程-&nbsp;具体是怎么和其他部门协作的,流程是怎么样-&nbsp;你是怎么理解数开的工作的,你个人的偏好是哪方向-&nbsp;数据库的范式、事务-&nbsp;范式建模、维度建模对比,适用具体场景-&nbsp;你了解哪些排序算法,详细讲讲冒泡排序和快速排序-&nbsp;对于小规模的数据比如学校成绩表、课程表等等建设数仓是否一定要使用维度建模-&nbsp;看你写了&nbsp;kimball&nbsp;的维度建模,你对维度建模的理解-&nbsp;MR&nbsp;流程-&nbsp;MR&nbsp;的并行度是由什么决定的-&nbsp;一个场景:两表Join,然后&nbsp;group&nbsp;by&nbsp;计算指标,写入一张表,这种场景可能会出现哪些潜在的问题-&nbsp;你有很多任务优化的经验,你的具体思路是怎样的-&nbsp;你之前谈到的数据质量,具体包括哪些,如何去实现的,以及如何量化-&nbsp;你了解&nbsp;Doris,ClickHouse&nbsp;之类的&nbsp;OLAP&nbsp;引擎吗,和&nbsp;Hadoop、Hive、Spark&nbsp;这些有什么区别,具体场景是哪些-&nbsp;你目前的秋招进度是怎样的,投了哪些公司-&nbsp;没做题-&nbsp;反问环节:业务、数仓架构、技术栈等
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务