首页 > 代码库 > LeetCode 3Sum Closest

LeetCode 3Sum Closest

class Solution {public:    int threeSumClosest(vector<int> &num, int target) {        int len = num.size();        if (len < 3) {            return 0;        }        sort(num.begin(), num.end());                int sum = num[0] + num[1] + num[2];        for (int i=0; i<len-2; i++) {            int p = i + 1;            int q = len - 1;            while (p < q) {                int csum = num[i] + num[p] + num[q];                if (abs(target - csum) < abs(target - sum)) {                    sum = csum;                }                if (csum > target) {                    q--;                } else if (csum < target) {                    p++;                } else {                    return csum;                }            }        }        return sum;    }};

n方时间复杂度