엔지니어 게시판
LeetCode 솔루션 분류

[10/8] 16. 3Sum Closest

컨텐츠 정보

본문

16. 3Sum Closest
Medium
7071385Add to ListShare

Given 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
전체 194 / 5 페이지
번호
제목
이름

최근글


인기글


새댓글


Stats


알림 0