LeetCode_最接近的三数之和

在这里插入图片描述

**解题思路:**这题的思路与三数之和相似,只需对比三数之和与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;

在这里插入图片描述

发布了38 篇原创文章 · 获赞 1 · 访问量 796

猜你喜欢

转载自blog.csdn.net/weixin_45774706/article/details/104679041