LeetCode Day14 3sum-closest

class Solution {
public:
    int threeSumClosest(vector<int>& nums, int target) {
        if(nums.empty()) return 0;
        int sum=0,dismin=1000;
        sort(nums.begin(),nums.end());
        for(int n=0;n<nums.size()-2;n++){
            int i =n+1,j=nums.size()-1,tmp=target-nums[n];
            while(i<j){
                if(abs(nums[i]+nums[j]-tmp)<dismin){
                    dismin=abs(nums[i]+nums[j]-tmp);
                    sum=nums[n]+nums[i]+nums[j];
                }
                if(nums[i]+nums[j]>tmp) j--;
                else i++;
                
            }
        }
        return sum;
    }
};

猜你喜欢

转载自blog.csdn.net/weixin_41394379/article/details/83062698