給定乙個包括 n 個整數的陣列 nums 和 乙個目標值 target。找出 nums 中的三個整數,使得它們的和與 target 最接近。返回這三個數的和。假定每組輸入只存在唯一答案。
例如,給定陣列 nums = [-1,2,1,-4], 和 target = 1.
與 target 最接近的三個數的和為 2. (-1 + 2 + 1 = 2).
改一改之前的三數之和就可以了
還是排序、確定第乙個數之後,剩下的兩個數分別從頭尾開始找,維護minn來確定三個數與target之間的差的絕對值
當差為0的時候,就可以不用繼續迴圈了
三個數和=1:
if nums[i] == last:
continue
target1 = nums[i]
last = nums[i]
f = i+1
l = length -1
while fleft = nums[f] + nums[l]
if left + target1 == target:
minn = 0
ans = target
break
elif left + target1 < target:
if abs(target - (left + target1)) < minn:
minn = abs(target - (left + target1))
ans = left + target1
f += 1
else:
if abs(target - (left + target1)) < minn:
minn = abs(target - (left + target1))
ans = left + target1
l -= 1
return ans
Leetcode 最接近的三數之和
給定乙個包括 n 個整數的陣列 nums 和 乙個目標值 target。找出 nums 中的三個整數,使得它們的和與 target 最接近。返回這三個數的和。假定每組輸入只存在唯一答案。例如,給定陣列 nums 1,2,1,4 和 target 1.與 target 最接近的三個數的和為 2.1 2...
LeetCode 最接近的三數之和
給定乙個包括 n 個整數的陣列nums和 乙個目標值target。找出nums中的三個整數,使得它們的和與target最接近。返回這三個數的和。假定每組輸入只存在唯一答案。例如,給定陣列 nums 1,2,1,4 和 target 1.與 target 最接近的三個數的和為 2.1 2 1 2 cl...
LeetCode 最接近的三數之和
q 給定乙個包括 n 個整數的陣列 nums 和 乙個目標值 target。找出 nums 中的三個整數,使得它們的和與 target 最接近。返回這三個數的和。假定每組輸入只存在唯一答案。示例 輸入 nums 1,2,1,4 target 1 輸出 2 解釋 與 target 最接近的和是 2 1...