总结:穷尽求和,寻找距离最近的值,返回最近的值所在的索引,并依据索引找到这个值
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])