question
find three numbers whose sum is closed to the target number.
algorithm
Enumerate the first number, then get two numbers whose sum is closed to the target number minus the first number.
code
class Solution:
def threeSumClosest(self, nums: List[int], target: int) -> int:
nums.sort()
ans = nums[0] + nums[1] + nums[2]
sNum = len(nums)
for a in range(sNum):
b = a+1
c = sNum-1
while b < c:
threeSum = nums[a] + nums[b] + nums[c]
if abs(threeSum - target) < abs(ans - target):
ans = threeSum
if threeSum == target:
return target
elif nums[a] + nums[b] + nums[c] < target:
b += 1
else:
c -= 1
return ans
本文介绍了一种算法,用于寻找三个数的组合,使它们的和最接近给定的目标数。通过枚举第一个数并使用双指针技术找到剩余两个数,实现了高效的解决方案。

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



