Question:codility Lesson5 MinAvgTwoSlice
My answer:
def solution(A):
min_avg = (A[0] + A[1])/2.0
avg_pos = 0
for i in xrange(1,len(A) - 2):
if (A[i] + A[i + 1]) / 2.0 < min_avg:
min_avg = (A[i] + A[i + 1]) / 2.0
avg_pos = i
if (A[i] + A[i + 1] + A[i + 2]) / 3.0 < min_avg:
min_avg = (A[i] + A[i + 1] + A[i + 2]) / 3.0
avg_pos = i
if (A[-1] + A[-2]) / 2.0 < min_avg:
min_avg = (A[-1] + A[-2])
avg_pos = len(A) - 2
return avg_pos

本文介绍了一种解决Codility课程中Lesson5的最小平均数切片问题的方法。通过遍历数组并比较不同长度的子数组(两元素或三元素)平均值得到最小平均数及其起始位置。
293

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



