[LeetCode]16. 3Sum Closest
16. 3Sum Closest
class Solution(object):
def threeSumClosest(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: int
"""
if len(nums) < 3:
return sum(nums)
nums.sort()
result = sum(nums[:3])
for i in xrange(0, len(nums)):
left, right = i + 1, len(nums) - 1
while left < right:
s = nums[i] + nums[left] + nums[right]
if s == target:
return s
if abs(s - target) < abs(result - target):
result = s
if s < target:
left += 1
else:
right -= 1
return result
关注公众号:数据结构与算法那些事儿,每天一篇数据结构与算法

浙公网安备 33010602011771号