#176. 华为OD-查找接口成功率最优时间段(100分)

题目描述
题解
题库

华为OD-查找接口成功率最优时间段(100分)

题目描述

服务之间交换的接口成功率作为服务调用关键质量特性,某个时间段内的接口失败率使用一个数组表示,数组中每个元素都是单位时间内失败率数值,数组中的数值为 00 ~ 100100 的整数,给定一个数值(minAverageLostminAverageLost)表示某个时间段内平均失败率容忍值,即平均失败率小于等于 minAverageLostminAverageLost,找出数组中最长时间段,如果未找到则直接返回 NULL。

输入描述

输入有两行内容,第一行为 minAverageLostminAverageLost

第二行为数组,数组元素通过空格(" ")分隔,minAverageLostminAverageLost 及数组中元素取值范围为 01000-100 的整数,数组元素的个数不会超过 100100 个。

输出描述

找出平均值小于等于 minAverageLostminAverageLost 的最长时间段,输出数组下标对,格式(beginindexbeginindex)-(endindexendindex)(下标从 00 开始),如果同时存在多个最长时间段,则输出多个下标对,下标对之间使用空格(" ")拼接,多个下标对按下标对从小到大排序。

样例1

输入

1
0 1 2 3 4

输出

0-2

说明

A、输入解释: minAverageLost=1minAverageLost = 1,数组 [0,1,2,3,4][0,1,2,3,4]

B、前 33 个元素的平均值为 11,因此数组第一个至第三个数组下标,即 00 - 22

样例2

输入

2
0 0 100 2 2 99 0 2

输出

0-1 3-4 6-7

说明

A、输入解释: minAverageLost=2minAverageLost = 2,数组 [0,0,100,2,2,99,0,2][0,0,100,2,2,99,0,2]

B、通过计算小于等于 22 的最长时间段为:数组下标为 00 - 11[0,0][0,0],数组下标为 33 - 44[2,2][2,2],数组下标为 66 - 77,即 [0,2][0,2],这三个部分都满足平均值小于等于 22 的要求,因此输出 00 - 11 33 - 44 66 - 77