**解题思路:**这题的思路与三数之和相似,只需对比三数之和与target之差的绝对值就可以了。
int NumsSize = nums.Length;
if (NumsSize < 3)
return 0;
Array.Sort(nums);
int sum = nums[0] + nums[1] + nums[2];
for (int i = 0; i < NumsSize - 2; i++)
{
int _high = NumsSize - 1;
int _low = i + 1;
while (_low < _high)
{
if (System.Math.Abs(nums[i] + nums[_low] + nums[_high] - target) < System.Math.Abs(sum - target))
sum = nums[i] + nums[_low] + nums[_high];
if (nums[i] + nums[_low] + nums[_high] < target)
_low++;
else if (nums[i] + nums[_low] + nums[_high] > target)
_high--;
else
{
break;
}
}
}
return sum;