class Solution {
public: int threeSumClosest(vector<int>& nums, int target) { sort(nums.begin(),nums.end()); int len = nums.size(); int ans = 0x3FFFFFFF; int res = 0; for(int i = 0 ; i < len ; i ++) { int left = i + 1; int right = len - 1; while(left < right) { int key = nums[left] + nums[right] + nums[i]; if( key < target ){ left ++; }else if( key > target ){ right --; }else return target; int fc = abs(key-target); if( fc < ans ) { ans = fc; res = key; } } } return res; }};