20191021-leetcode-16最接近的三數之和

class Solution {
public:
    int threeSumClosest(vector<int>& nums, int target) {
        int minn=0x7f7f7f;
        int sum=nums[0]+nums[1]+nums[2];
        sort(nums.begin(),nums.end());
        for(int i=0;i<nums.size();i++)
        {
           // int newTarget=target-nums[i];
            int le=i+1,ri=nums.size()-1;
            while(le<ri)
            {
                int tmp=nums[le]+nums[ri]+nums[i];
                if(abs(sum-target)>abs(tmp-target))
                {
                    sum=tmp;
                }
                if(tmp>target) {ri--;}
                else if(tmp<target){le++;}
                else {return target;}
            }
        }
        return sum;
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章