Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would have exactly one solution.
class Solution:
# @return an integer
def threeSumClosest(self, num, target):
num.sort()
minDiff = 9999999
res = 0
for i in range(len(num)):
left = i + 1; right = len(num) - 1
while left < right:
sum = num[i] + num[left] + num[right]
diff = abs(sum - target)
if diff< minDiff : minDiff = diff ; res = sum
if sum == target : return sum
elif sum < target : left += 1
else : right -= 1
return res