一、题目描述
现在有n个容器服务,服务的启动可能有一定的依赖性(有些服务启动没有依赖),其次服务自身启动加载会消耗一些时间。
给你一个 nxn 的二维矩阵 useTime,其中 useTime[i][i]=10 表示服务 i 自身启动加载需要消耗10s,useTime[i][j]=1 表示服务 i 启动依赖 j 启动完成,useTime[i][k]=0,表示服务 i 启动不依赖服务 k,其实0 <= i,j,k <n。服务之间启动没有循环依赖,若想对任意一个服务 i 进行集成测试(服务 i 自身也需要加载),求最少需要等待多长时间。
二、输入描述
第一行输入服务总量n,之后的 n 行表示服务启动的依赖关系以及自身启动加载耗时。
最后一行输入 k 表示计算需要等待多长时间后可以对服务 k 进行集成测试。
其中 1 <= k <= n,1 <= n <= 100。
三、输出描述
最少需要等待多长时间(s)后可以对服务 k 进行集成测试。
四、测试用例
测试用例1
1、输入
3
5 0 0
1 5 1
0 0 5
2
2、输出
10
3、说明
服务 1:耗时 5,无依赖 → 5
华为OD机试:Java实现微服务集成测试算法
这篇博客介绍了华为在线开发者(OD)机试的一道真题,涉及Java编程和微服务的集成测试。题目要求解决在有依赖关系的服务启动中,计算最少等待时间以便进行集成测试的问题。解题思路包括读取输入、创建依赖矩阵、遍历并递归计算依赖服务的等待时间。提供了完整的Java算法源码和效果展示。
订阅专栏 解锁全文
6616

被折叠的 条评论
为什么被折叠?



