class Solution:
# @param {integer[]} nums
# @param {integer} target
# @return {integer}
def threeSumClosest(self, nums, target):
if len(nums) == 0:
return None
nums.sort()
result = None
first = True
for i in range(0,len(nums)):
j = i + 1
k = len(nums) - 1
while j < len(nums) and k >= 0 and j<k:
val = nums[i] + nums[j] + nums[k]
if first:
result = val
first = False
elif abs(result - target) > abs(val - target):
result = val
if result == target:
return result
if val > target:
k-=1
else:
j+=1
return result
LeetCode #16 3Sum Closest
最新推荐文章于 2018-11-23 11:12:00 发布