总结:穷尽求和,寻找距离最近的值,返回最近的值所在的索引,并依据索引找到这个值
def threesum(s): num=[] mm=[] s.sort() for i in range(len(s)): for j in range(i+1,len(s)): for k in range(j+1,len(s)): I=[s[i],s[j],s[k]] num.append(sum(I)) I_set=list(set(num)) I_set.sort() print(I_set) for val in I_set: if val<0: val_up=abs(val-1) mm.append(val_up) else: mm.append(val-1) print(mm) index_val=indexofMin(mm) ans=I_set[index_val] return ans def indexofMin(arr): minindex = 0 currentindex = 1 while currentindex < len(arr): if arr[currentindex] < arr[minindex]: minindex = currentindex currentindex += 1 return minindex threesum([-1, 2,1,-4])