classSolution(object): defthreeSumClosest(self, nums, target): """ :type nums: List[int] :type target: int :rtype: int """ MAXINT = 2 ** 31 - 1 if nums isNone: return MAXINT l = len(nums) if l < 3: return MAXINT nums.sort() minDiff = MAXINT minDiffSum = MAXINT for i in range(l - 2): if i and nums[i] == nums[i - 1]: continue j, k = i + 1, l - 1 while j < k: test = nums[i] + nums[j] + nums[k] if test == target: return target elif test < target: j += 1 else: k -= 1 if abs(target - test) < minDiff: minDiff = abs(target - test) minDiffSum = test return minDiffSum