leetcode 16 最接近的三數之和

2021-09-28 10:48:26 字數 924 閱讀 3256

leetcode題目鏈結

題目要求:在陣列中查詢3個數使他們的和與目標值最接近

和15題十分類似,採用 i, left, right 3個指標,尋找結果

class

solution

:def

threesumclosest

(self, nums, target:

int)

->

int:

nums.sort(

) res =

sum(nums[0:

3])#初始值,使前3個元素作為最後的結果

numslen =

len(nums)

i =0while ileft = i+

1 right = numslen-

1while lefttempsum = nums[i]

+nums[left]

+nums[right]

#如果當前遍歷到的3個數之和與target更靠近,更新res

ifabs

(tempsum-target)

<

abs(res-target)

: res = tempsum

if tempsum-target>0:

right-=

1else

: left+=

1 i+=

1return res

if __name__ ==

"__main__"

: a = solution(

)print

(a.threesumclosest([-

1,2,

1,-4

],1)

)

LeetCode 16 最接近的三數之和

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

leetcode 16 最接近的三數之和

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

Leetcode 16 最接近的三數之和

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