16 最接近的三數之和

2022-05-13 08:43:59 字數 990 閱讀 3015

給定乙個包括 n 個整數的陣列 nums 和 乙個目標值 target。找出 nums 中的三個整數,使得它們的和與 target 最接近。返回這三個數的和。假定每組輸入只存在唯一答案。

示例:輸入:nums = [-1,2,1,-4], target = 1

輸出:2

解釋:與 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。

3 <= nums.length <= 10^3

-10^3 <= nums[i] <= 10^3

-10^4 <= target <= 10^4

class

solution:

def threesumclosest(self, nums: list[int], target: int) ->int:

nums.sort()

n=len(nums)

res=float('

inf'

)

defupdate(cur):

nonlocal res

if abs(cur-target)target):

res=cur

for i in

range(n):

if i>0 and nums[i]==nums[i-1]:

continue

j,k=i+1,n-1

while js=nums[i]+nums[j]+nums[k]

if s==target:return

target

update(s)

if sjj=j+1

while jjand nums[jj]==nums[j]:

jj+=1j=jj

else

: kk=k-1

while jand nums[kk]==nums[k]:

kk-=1k=kk

return

res

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 如果...

16 最接近的三數之和

給定乙個包括 n 個整數的陣列 nums 和 乙個目標值 target。找出 nums 中的三個整數,使得它們的和與 target 最接近。返回這三個數的和。假定每組輸入只存在唯一答案。例如,給定陣列 nums 1,2,1,4 和 target 1.與 target 最接近的三個數的和為 2.1 2...