título Descrição
Dada uma matriz que compreende n inteiros e um alvo nums alvo. Nums identificar os três números inteiros, e um alvo de tal forma que o seu mais próximo. Os três números e retorno. Cada grupo assume que existe apenas entrada a única resposta.
Por exemplo, tendo em conta as nums Array = [-1,2,1, -4], e = 1. alvo
com o alvo mais próximo é três e o número 2. (-1 = 1 + 2 + 2).
código python
class Solution:
def threeSumClosest(self, nums: List[int], target: int) -> int:
nums.sort()
n = len(nums)
best_res = float('inf')
for i in range(n):
if(i>0 and nums[i]==nums[i-1]):
continue
L = i + 1
R = n - 1
while(L<R):
result = nums[i]+nums[L]+nums[R]
if result-target == 0:
return result
if abs(result-target) < abs(best_res-target):
best_res = result
if result-target>0:
R -=1
else:
L +=1
return best_res