Leetcode: 3SUM Closest

来源:互联网 发布:充电话费软件 编辑:程序博客网 时间:2024/04/28 23:35
class Solution {public:    int threeSumClosest(vector<int> &num, int target) {        if(num.size()<3)            return 0;        int i,j,k,sum,diff,tmp,result;        diff=INT_MAX;        sort(num.begin(),num.end());        for(i=0;i<num.size();++i){            j=i+1;            k=num.size()-1;            while(j<k){                sum=num[i]+num[j]+num[k];                if(sum<target){                    tmp=target-sum;                    if(tmp<diff) {                        diff=tmp;                        result=sum;                    }                                            ++j;                } else if(sum>target){                           tmp=sum-target;                           if(tmp<diff) {                               diff=tmp;                               result=sum;                           }                                                           --k;                        } else return sum;                            }        }        return result;    }};


原创粉丝点击