LeetCode 솔루션 분류
[10/8] 16. 3Sum Closest
본문
16. 3Sum Closest
Medium
7071385Add to ListShareGiven an integer array nums of length n and an integer target, find three integers in nums such that the sum is closest to target.
Return the sum of the three integers.
You may assume that each input would have exactly one solution.
Example 1:
Input: nums = [-1,2,1,-4], target = 1 Output: 2 Explanation: The sum that is closest to the target is 2. (-1 + 2 + 1 = 2).
Example 2:
Input: nums = [0,0,0], target = 1 Output: 0 Explanation: The sum that is closest to the target is 0. (0 + 0 + 0 = 0).
Constraints:
3 <= nums.length <= 1000-1000 <= nums[i] <= 1000-104 <= target <= 104
Accepted
894,101
Submissions
1,940,414
관련자료
-
링크
댓글 1
학부유학생님의 댓글
- 익명
- 작성일
class Solution:
def threeSumClosest(self, nums: List[int], target: int) -> int:
nums.sort()
diff = float('inf')
answer = 0
for i in range(len(nums)-2):
l, r = i+1, len(nums)-1
if i>0 and nums[i] == nums[i-1]: continue
while l<r:
threeSum = nums[i] + nums[l] + nums[r]
if abs(target-threeSum)<diff:
answer = threeSum
diff = abs(target-threeSum)
if threeSum < target:
l += 1
else:
r -= 1
return answer







