給定乙個包括 n 個整數的陣列nums
和 乙個目標值target
。找出nums
中的三個整數,使得它們的和與target
最接近。返回這三個數的和。假定每組輸入只存在唯一答案。
例如,給定陣列 nums = [-1,2,1,-4], 和 target = 1.class solution:與 target 最接近的三個數的和為 2. (-1 + 2 + 1 = 2).
def threesumclosest(self, nums, target):
""":type nums: list[int]
:type target: int
:rtype: int
"""n=len(nums)
gap=0x10fff
res=0
nums.sort()
for i in range(n-2):
left=i+1
right=n-1
while(leftclosetarget=nums[i]+nums[left]+nums[right]
if(closetarget==target):
res=target
break
elif(abs(closetarget-target)gap=abs(closetarget-target)
res=closetarget
if(closetargetleft=left+1
else:
right=right-1
if(res==target):
break
return res
15 三數之和 16 最接近的三數之和
給定乙個包含 n 個整數的陣列 nums,判斷 nums 中是否存在三個元素 a,b,c 使得 a b c 0 找出所有滿足條件且不重複的三元組。注意 答案中不可以包含重複的三元組。例如,給定陣列 nums 1,0,1,2,1,4 滿足要求的三元組集合為 1,0,1 1,1,2 方法1 回溯,超時 ...
16 最接近的三數之和
給定乙個包括 n 個整數的陣列nums和 乙個目標值target。找出nums中的三個整數,使得它們的和與target最接近。返回這三個數的和。假定每組輸入只存在唯一答案。例如,給定陣列 nums 1,2,1,4 和 target 1.與 target 最接近的三個數的和為 2.1 2 1 2 思考...
16 最接近的三數之和
給定乙個包括 n 個整數的陣列nums和 乙個目標值target。找出nums中的三個整數,使得它們的和與target最接近。返回這三個數的和。假定每組輸入只存在唯一答案。例如,給定陣列 nums 1,2,1,4 和 target 1.與 target 最接近的三個數的和為 2.1 2 1 2 如果...