学长帮忙内推了一波,然后做了笔试,通过,前面刚经过了第一轮面试。感觉是跪了。这里记录下,警示后人。。。。
一.笔试
第一问.
给定一个数组,任选两个元素求和,[a1,a2]和[a3,a4],使得(a1+a2)-(a3+a4)差最小。
import itertools
import sys
def solution(N,nums):
candidates=itertools.combinations(nums,2)
tmp=[]
for item in candidates:
tmp.append(sum(item))
tmp.sort()
minimal=sys.maxint
for i in range(1,len(tmp)):
minimal=min(minimal,tmp[i]-tmp[i-1])
return minimal
try:
while True:
line = sys.stdin.readline().strip()
fisrtLine = line.split(" ")
N=int(fisrtLine[0])
line = sys.stdin.readline().strip()
SecondLine = line.split(" ")
nums=[]
for i in SecondLine:
nums.append(int(i))
print(solution(N,nums))
if line == '':
break
ex