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

本文深入探讨了类似于3Sum的算法实现,通过详细的代码解释了如何寻找与目标最接近的三个数之和。该算法首先对输入数组进行排序,然后使用双指针技巧遍历数组,以找到与目标值最接近的三数之和。
648

被折叠的 条评论
为什么被折叠?



