华为od机试-几何平均值最大子数组
从一个长度为N的正数数组numbers中找出长度至少为L且几何平均值最大子数组,并输出其位置和大小。(K个数的几何平均值为K个数的乘积的K次方根)
若有多个子数组的几何平均值均为最大值,则输出长度最小的子数组,
若有多个长度相同的子数组的几何平均值均为最大值,则输出最前面的子数组。
输入描述:
第一行输入为N、L,N表示numbers的大小(1<=N<=100000),L表示子数组的最小长度(1<=L<=N)之后N行表示numbers中的N个数,每个一行(-10^9<=numbers<=10^9)。
输出描述:
输出子数组的位置(从0开始计数)和大小,中间用一个空格隔开。
补充说明:
用例保证除几何平均值为最大值的子数组外,其他子数组的几何平均值至少比最大值小最大值的1-10倍
示例1:输入输出示例仅供调试,后台判题数据一般不包含示例
输入
3 2
2
2
3
输出:
1 2
说明:
长度至少为2的子数组有3个, [2,2] [2,3] [2,2,3] , 几何平均值最大为[2,3], 输出其位置1和长度2
示例2:输入输出示例仅供调试,后台判题数据一般不包含示例
输入
10 2
0.2
0.1
0.2
0.2
0.2
0.1
0.2
0.2
0.2
0.2
输出:
2 2
说明:
有多个长度至少为2的子数组的几何平均值为0.2,其中长度最短的为2,也有多个,长度为2月几何平均值为0.2的子数组最前面的那个为从第二个数开始的两个0.2组成的子数组
————————————————
版权声明:本文为CSDN博主「MISAYAONE」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://renjie.blog.csdn.net/article/details/128844466
Java 实现:https://renjie.blog.csdn.net/article/details/128844466
Python实现:https://renjie.blog.csdn.net/article/details/128844499
C++ 实现:https://renjie.blog.csdn.net/article/details/128844485

