leetcode 3Sum Closest python

class Solution(object):
    def threeSumClosest(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: int
        """
        if len(nums) <= 2:
            return False
        nums.sort()
        res=nums[0]+nums[1]+nums[2]
        for i in range(len(nums)-2):
            left=i+1
            right=len(nums)-1
            while left < right:
                cur=nums[i]+nums[left]+nums[right]
                
                if abs(cur-target) < abs(res-target):
                    res=cur
                if res == target:
                    return res
                elif cur > target:
                    right-=1
                else:
                    left+=1
                    
        return res

 

posted @ 2015-11-20 20:36  hao.ma  阅读(152)  评论(0编辑  收藏  举报