Scribbling

LeetCode: 16. 3Sum Closest 본문

Computer Science/Coding Test

LeetCode: 16. 3Sum Closest

focalpoint 2021. 8. 21. 14:35
class Solution:
    def threeSumClosest(self, nums: List[int], target: int) -> int:
        ret = int(1e9)
        nums.sort()
        for i in range(0, len(nums)-2):
            l = i + 1
            r = len(nums) - 1
            while l < r:
                now_sum = nums[i] + nums[l] + nums[r]
                if now_sum == target:
                    return target
                elif now_sum < target:
                    if abs(now_sum - target) < abs(ret - target):
                        ret = now_sum
                    l += 1
                else:
                    if abs(now_sum - target) < abs(ret - target):
                        ret = now_sum
                    r -= 1
        return ret

'Computer Science > Coding Test' 카테고리의 다른 글

LeetCode: 18. 4Sum  (0) 2021.08.22
LeetCode: 17. Letter Combinations of a Phone Number  (0) 2021.08.21
LeetCode: 15. 3Sum  (0) 2021.08.19
LeetCode: 11. Container With Most Water  (1) 2021.08.17
LeetCode: 8. String to Integer (atoi)  (0) 2021.08.16