题面解释:
为了最小化检查数据中心服务器的时间,我们可以采取以下策略:首先,使用行检查,能够同时检查多行服务器,耗时1秒;然后,使用列检查,单列检查耗时2秒。我们需要读取机架数量及每个机架的服务器数量,并找出最大的服务器数量来决定检查方式。优先进行行检查,尽可能多地覆盖服务器,再用列检查完成剩余的检查。代码实现通过标记已检查的行和计算总耗时来得到最终结果。通过这种方式,我们可以高效地确保所有服务器都得到检查,达到最小的时间消耗。
思路:贪心+递归
对一个数组arr,对min(arr)进行一个行操作。剩下的区间递归进行。直到l = r , 进行列操作
具体细节看代码注释
P2295.第2题-服务器健康巡检
题目内容
在一个未来的超级数据中心,有一排存放服务器的阵列,阵列由一列一列的机架组成,机架的每一行可以存放一个服务器,每列架子的服务器都是自底向上依次摆放,摆放的个数是随机且大于0的。现在有一个运维机器人用来检查服务器健康状态,机器人有行列2种检查模式:
- 行检查支持多行服务器一起检查,检查时间为1秒。
- 列检查仅支持单列服务器检查,检查时间为2秒。
约束说明:
- 允许在同一个服务器检查多次,但同一次行、列检查模式的服务器必须为连续的一段。
- 单独的一个服务器检查,默认采用列检查方式,检查时间为2秒。
开通会员即可查看完整视频题解: 1.题目讲解 2.思路分析 3.逐行代码手写