8.20字节笔试
选择题出的较有难度,只能凭感觉走了。。
两个算法一个easy,一个middle,感觉是这几次笔试最简单的了,本来还想着字节笔试会出很难的算法许愿进面
python,供借鉴:
第一题:
n = int(input())
nList = [int(i) for i in input().split()]
temp = 0
obj = {}
for i in range(n):
if nList[i] in obj:
temp = max(temp, i - obj[nList[i]][0] - 1)
obj[nList[i]].append(i)
else:
obj[nList[i]] = [i]
print(temp)
第二题:
t = int(input())
for _ in range(t):
n, k , a1, a2, a3 = map(int, input().split())
a = [a1, a2, a3]
a.sort()
if k * 3 > n:
print(-1)
else:
b1, b2, b3 = a[1]-a[0], a[2]-a[1], n-a[2]+a[0]
b = [b1, b2, b3]
b.sort()
bi = b[:2]
bi.append(k)
bi.sort()
if bi.index(k) == 0:
print(0)
elif bi.index(k) == 2:
print(2 * k - b[0] - b[1])
else:
print(k-b[0])
#我的求职记录#