leetcode 最接近的三數之和 python

2021-09-10 23:11:24 字數 914 閱讀 6432

給定乙個包括 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...