华为OD机试 2023B卷题库疯狂收录中,刷题点这里
刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。
现在有n个容器服务,服务的启动可能有一定的依赖性(有些服务启动没有依赖),其次服务自身启动加载会消耗一些时间。 第一行输入服务总量n,之后的 n 行表示服务启动的依赖关系以及自身启动加载耗时。 最后一行输入 k 表示计算需要等待多长时间后可以对服务 k 进行集成测试。 其中 1 <= k <= n,1 <= n <= 100。 最少需要等待多长时间(s)后可以对服务 k 进行集成测试。 3 15 下一篇:华为OD机试真题 JavaScript 实现【贪心的商人】【2023Q1 100分】 本文收录于,华为OD机试(JavaScript)真题(A卷+B卷) 刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。
给你一个 nxn 的二维矩阵 useTime,其中 useTime[i][i]=10 表示服务 i 自身启动加载需要消耗10s,useTime[i][j]=1 表示服务 i 启动依赖 j 启动完成,useTime[i][k]=0,表示服务 i 启动不依赖服务 k,其实0 <= i,j,k 二、输入描述
三、输出描述
四、解题思路
五、JavaScript算法源码
function needTime(nums, k) {
const n = nums[0].length;
const selfTime = nums[k][k];
let dependMaxTime = 0;
for (let i = 0; i < n; i++) {
if (nums[k][i] === 1 && i !== k) {
const time = needTime(nums, i);
dependMaxTime = Math.max(dependMaxTime, time);
}
}
return selfTime + dependMaxTime;
}
function calculateIntegrationTestTime(n, dependencyMatrix, k) {
const nums = [];
for (let i = 0; i < n; i++) {
nums[i] = dependencyMatrix[i].split(" ").map(Number);
}
const time = needTime(nums, k - 1);
return time;
}
六、效果展示
1、输入
5 0 0
1 5 0
0 1 5
32、输出