給定乙個包括 n 個整數的陣列 nums 和 乙個目標值 target。找出 nums 中的三個整數,使得它們的和與 target 最接近。返回這三個數的和。假定每組輸入只存在唯一答案。
例如,給定陣列 nums = [-1,2,1,-4], 和 target = 1.
與 target 最接近的三個數的和為 2. (-1 + 2 + 1 = 2).
用python寫的**:
class
solution
(object):
defthreesumclosest
(self, nums, target)
:"""
:type nums: list[int]
:type target: int
:rtype: int
"""
l=len(nums)
if(l<3)
:return
nums.sort(
)
reduce_value=nums[0]
+nums[1]
+nums[l-1]
for i in
range
(l):
j=i+
1
k=l-1if
(j>=k)
:return reduce_value
while jabs(reduce_value-target)
>
abs(nums[i]
+nums[j]
+nums[k]
-target)
):
reduce_value=nums[i]
+nums[j]
+nums[k]
if(j+nums[j]
+nums[k]
>target)
:
k-=1elif j+nums[j]
+nums[k]
j+=1else
:return target
return reduce_value
leetcode 三數之和
給定乙個包含 n 個整數的陣列nums,判斷nums中是否存在三個元素 a,b,c 使得 a b c 0 找出所有滿足條件且不重複的三元組。注意 答案中不可以包含重複的三元組。例如,給定陣列 nums 1,0,1,2,1,4 滿足要求的三元組集合為 1,0,1 1,1,2 因為這次是要求輸出對應的三...
LeetCode 三數之和
題目描述 給定乙個包含 n 個整數的陣列nums,判斷nums中是否存在三個元素 a,b,c 使得 a b c 0 找出所有滿足條件且不重複的三元組。注意 答案中不可以包含重複的三元組。例如,給定陣列 nums 1,0,1,2,1,4 滿足要求的三元組集合為 1,0,1 1,1,2 題目分析 有序陣...
Leetcode 三數之和
解決方案一 class solution else if nums j nums k target else while i 1 1 i return lllist 解決方案2 class solution 如果有3個0,就直接作為乙個解 if zerosize 3 res.add arrays.a...