力扣之最接近的三数之和

问题

在这里插入图片描述

解答

思路与三数之和相似,具体实现参考以下代码

class Solution:
    def threeSum(self,nums,target):
        n=len(nums)
        result=float("inf")
        if(not nums or n<3):
            return False
        nums.sort() #sort nums
        for i in range(n):
            if(i>0 and nums[i]==nums[i-1]):
                continue
            L=i+1 #left point
            R=n-1 #right point
            while(L<R):
                temp=nums[i]+nums[L]+nums[R]
                if(temp==target):
                    return temp
                if abs(result-target) > abs(temp-target):
                        result = temp
                if temp > target:
                    R = R-1
                elif temp < target:
                    L = L+1
        return result

击败用户

在这里插入图片描述

发布了25 篇原创文章 · 获赞 8 · 访问量 919

猜你喜欢

转载自blog.csdn.net/weixin_44617944/article/details/104652539