方法与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
转载请标明出处:python leetcode 16. 3Sum Closest