一、题目描述
当前IT部门支撑了子公司颗粒化业务,该部门需要实现为子公司快速开租建站的能力,建站是指在一个全新的环境部署一套IT服务。
每个站点开站会由一系列部署任务项构成,每个任务项部署完成时间都是固定和相等的,设为1。部署任务项之间可能存在依赖,假如任务2依赖任务1,那么等任务1部署完,任务2才能部署。任务有多个依赖任务则需要等所有依赖任务都部署完该任务才能部署。
没有依赖的任务可以并行部署,优秀的员工们会做到完全并行无等待的部署。
给定一个站点部署任务项和它们之间的依赖关系,请给出一个站点的最短开站时间。
二、输入描述
第一行是任务数taskNum,第二行是任务的依赖关系数relationsNum接下来 relationsNum 行,每行包含两个id,描述一个依赖关系,格式为: Di Dj,表示部署任务部署完成了,部署任务j才能部署,IDi 和IDj 值的范围为: [0,taskNum)注:输入保证部署任务之间的依赖不会存在环。
三、输出描述
1个整数,表示一个站点的最短开站时间。
四、测试用例
测试用例1
1、输入
4
3
0 1
1 2
2 3
2、输出
4
3、说明
单一链 0 → 1
这是一篇关于华为在线测评(OD)的Java算法题解析,内容涉及如何解决给定任务依赖关系下的最短建站时间问题。通过创建任务依赖图,利用递归计算每个任务的最小启动时间,最终得出最短开站时间为3。
订阅专栏 解锁全文
7801

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



