跟15题类似,双指针,但是难度小一些,不需要去重
class Solution(object):
def threeSumClosest(self, nums, target):
nums.sort()
sum_re = nums[0] + nums[1] + nums[-1]
for i in range(len(nums)):
j=i+1
k=len(nums)-1
while j<k:
sum_temp=nums[i]+nums[j]+nums[k]
if abs(sum_temp - target) < abs(sum_re - target): sum_re = sum_temp
if sum_temp<target:
j+=1
elif sum_temp>target:
k-=1
else:
return target
return sum_re