classSolution(object):defthreeSumClosest(self,nums,target):""" :type nums: List[int] :type target: int :rtype: int """nums=sorted(nums)ans=sum(nums[:3])iflen(nums)<3:return0eliflist(set(nums))==[0]:return0else:foriinrange(len(nums)):ifnums[i]==nums[i-1]:continueleft,right=i+1,len(nums)-1whileleft<right:total=nums[i]+nums[left]+nums[right]ifabs(total-target)<abs(ans-target):ans=totaliftotal<=target:left+=1else:right-=1returnansif__name__=="__main__":answer=Solution()printanswer.threeSumClosest([-1,2,1,-4],1)