方法与3Sum类似
class Solution(object):
def threeSumClosest(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: int
"""
nums.sort()
mindiff=1000000
ln = len(nums)
res=sum(nums[:3])
for i in range(ln-2):
left,right = i+1,ln-1
while left < right:
sum1 = nums[i]+nums[left]+nums[right]
diff = abs(sum1 - target)
if diff==0:
return target
if diff < mindiff:
mindiff = diff
res = sum1
if sum1>target:
right-=1
if sum1<target:
left+=1
return res