leetcode-16-3sum closest

来源:互联网 发布:图灵系列图书 知乎 编辑:程序博客网 时间:2024/05/29 17:14

题目:给一个list,一个target。找list中3个数相加最接近target的值。

class Solution(object):    def threeSumClosest(self, nums, target):        """        :type nums: List[int]        :type target: int        :rtype: int        """        nums.sort()        m=len(nums)        a=[]        minwater=nums[0]+nums[1]+nums[2]        for i in range(m-2):            j=i+1            k=m-1            while(j<k):                water=(nums[i]+nums[j]+nums[k])                if abs(target-water)<=abs(target-minwater):                    minwater=water                if minwater==target:                    return target                if water>target:                    k-=1                else:                    j+=1        return minwater

根据3sum 改进,遍历的思路是一样的。改动一个判断来寻找最接近target的值。Accepted。

0 0