最接近的三数之和
解法和三数之和这题很像
先遍历第一个数
之后利用双指针法遍历后面的数
def threeSumClosest(nums, target):
res = float('inf')
nums.sort()
length = len(nums)
for i in range(length - 2):
left = i + 1
right = length - 1
while left < right:
tmp = nums[i] + nums[left] + nums[right]
if abs(tmp - target) < abs(res - target):
res = tmp
if tmp == target:
return target
if tmp > target:
right -= 1
else:
left += 1
return res