Skip to content

3Sumclosest

LeetCode Problem

# https://leetcode.com/problems/3sum-closest/description/


def threeSumClosest(nums, target):
    nums.sort()
    result = nums[0] + nums[1] + nums[2]
    for i in range(len(nums) - 2):
        low = i + 1
        high = len(nums) - 1
        while low < high:
            sum = nums[i] + nums[low] + nums[high]
            if sum == target:
                return sum
            if abs(sum - target) < abs(result - target):
                result = sum
            if sum < target:
                low += 1
            elif sum > target:
                high -= 1
    return result


def main():
    print(threeSumClosest([-1, 2, 1, -4], 1))  # 2


main()