leetcode 16: 3Sum Closest

来源:互联网 发布:辅舒良与内舒拿 知乎 编辑:程序博客网 时间:2024/05/24 05:32
class Solution {public:    int threeSumClosest(vector<int>& nums, int target) {        int res=target<0?INT_MAX+target:INT_MAX-target;        sort(nums.begin(),nums.end());        for(int i=0;i<nums.size()-2;i++)        {            int j=i+1;            int k=nums.size()-1;            while(j<k)            {                int sum=nums[i]+nums[j]+nums[k];                if(abs(sum-target)<abs(res-target))                    res=sum;                if(sum>target)                {                    k--;                }                else if(sum<target)                {                    j++;                }                else                    return sum;            }        }        return res;    }};

0 0