16 最接近的三數之和

2022-06-15 14:06:08 字數 804 閱讀 1494

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

原題請參考鏈結

方法一 【排序+雙指標】

class solution:

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

l = len(nums)

res = 10**7

nums.sort()

for a in range(l):

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

continue

b = a + 1

c = l - 1

while b < c :

s = nums[a] + nums[b] + nums[c]

if s == target:

return s

if abs(s-target) < abs(res-target):

res = s

if s > target:

c0 = c - 1

while b < c0 and nums[c0] == nums[c]:

c0 -= 1

c = c0

if s < target:

b0 = b + 1

while b0b0 += 1

b = b0

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