LeetCode 16 最接近的三數之和

2022-03-26 04:27:13 字數 852 閱讀 5003

difficulty:中等

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

示例:

輸入:nums = [-1,2,1,-4], target = 1

輸出:2

解釋:與 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。

solution

class solution:

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

nums.sort()

res = 0

diff = float('inf') # 設定乙個極大值

for i in range(len(nums)):

l, r = i+1, len(nums)-1

while l < r:

s = nums[i] + nums[l] + nums[r]

if abs(s-target) < diff:

diff = abs(s-target)

res = s

if s < target: l += 1 # 左指標右移

elif s > target: r -= 1 # 右指標左移

else: return res

return res

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