20190817腾讯笔试
第1题
栅栏由n根栏杆组成,第i根栏杆的长度为hi,需要连续拔掉k根栏杆
拔掉的最小长度总和
def lenth_min(k,h):
n=len(h)
min=0
#先计算前k根栏杆的长度和
for i in range(k):
min=min+h[i]
#采用滑动窗口的思想依次滑动,每滑动一次丢掉一个栏杆长度,增加一个栏杆长度
pos=0
min_rec=min
for j in range(1,n-k+1):
min=min-h[j-1]+h[j+k-1]
if min<min_rec:
min_rec=min
pos=j
return pos+1
第3题