LeetCode

来源:互联网 发布:js blob转uint8array 编辑:程序博客网 时间:2024/06/11 08:20

解题代码:

classSolution {

public:

    int threeSumClosest(vector<int>&nums, int target) {

        int abc=INT_MAX;

        int res;

        sort(nums.begin(),nums.end());

        for(int i=0;i<nums.size();i++){

            int a=i+1,b=nums.size()-1;

            while(a<b){

                int r=nums[a]+nums[b]+nums[i];

                int j=abs(r-target);

                if(j<abc){

                    res=r;

                    if(j==0)

                        return res;

                    abc=j;

                }

                else if(r>target)

                    b--;

                else

                    a++;

            }

        }

        return res;

    }

};

 

解题思路:

题目与之前一题3 SUM相似。不过是找到三个数的和最接近目标值。因此也可以使用与之前一题相似的思路。使用双指针算法,以减少判断的次数,便于找出结果。

0 0
原创粉丝点击