【华为机试真题 Python】几何平均值最大子数组
题目描述
从一个长度为N的正数数组numbers中找出长度至少为L且几何平均值最大子数组,并输出其位置和大小。(K个数的几何平均值为K个数的乘积的K次方根)
若有多个子数组的几何平均值均为最大值,则输出长度最小的子数组。
若有多个长度相同的子数组的几何平均值均为最大值,则输出最前面的子数组。
输入描述
第一行输入为N、L
- N表示numbers的大小(1 ≤ N ≤ 100000)
- L表示子数组的最小长度(1 ≤ L ≤ N)
之后N行表示numbers中的N个数,每个一行(10^-9 ≤ numbers[i] ≤ 10^9)
输出描述
输出子数组的位置(从0开始计数)和大小,中间用一个空格隔开。
参考示例
示例1
输入
3 2
2
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
参考代码
import sys
# 输入获取
n, l = map(int, input().split())
numbers = [float(input()) for i in range(n)]
# 算法入口
def getResult(n, l, numbe
还没有评论,来说两句吧...