16. 3Sum Closest

Irish Mocha·2024년 1월 25일

Algorithm PS

목록 보기
8/9

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

class Solution {
public:
    int threeSumClosest(vector<int>& nums, int target) {
        sort(nums.begin(),nums.end());
    
        int sum = 0;
        int answer;

        for (int i = 0; i < nums.size(); ++i) {
            int lower = i + 1;
            int upper = nums.size() - 1;

            while (lower < upper) {
                sum = nums[i] + nums[lower] + nums[upper];
                if (sum == target) {
                    return sum;
                }

                sum < target ? ++lower : --upper;

                if (abs(sum - target) < abs(answer - target)) {
                    answer = sum;
                }
            }
        }
        
        return answer;
    }
};
profile
irishmocha

0개의 댓글