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