leetcode-3sumclosest

class Solution {
public:
    int threeSumClosest(vector<int> &num, int target)
    {
        int len = num.size();
        sort(num.begin(),num.end());
        int diff = INT_MAX;
        int result;
        int i,j,k;
        int sum;
        for(i=0;i<len-2;i++)
        {
            j = i+1;
            k = len -1;
            while(j<k)
            {
                sum = num[i]+num[j]+num[k];
                if(abs(sum-target)<diff)
                {
                    diff = abs(sum-target);
                    result = sum;
                }
                if(sum>target)
                {
                    k--;
                    continue;
                }
                if(sum<target)
                {
                    j++;
                    continue;
                }
                return target;
            }
        }
        return result;
    }
};
每天早上叫醒你的不是闹钟,而是心中的梦~
原文地址:https://www.cnblogs.com/vintion/p/4116879.html