1. 程式人生 > >python leetcode 16. 3Sum Closest

python leetcode 16. 3Sum Closest

方法與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