题目来源
题目详情
给你一个长度为 n
的整数数组 nums
和 一个目标值 target
。请你从 nums
中选出三个整数,使它们的和与 target
最接近。
返回这三个数的和。
假定每组输入只存在恰好一个解。
示例 1:
输入: nums = [-1,2,1,-4], target = 1
输出: 2
解释: 与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。
示例 2:
输入: nums = [0,0,0], target = 1
输出: 0
提示:
3 <= nums.length <="1000</code"><!--=-->
-1000 <= nums[i] <="1000</code"><!--=-->
-104 <= target <="104</code"><!--=-->
相似题目
题解分析
class Solution {
public int threeSumClosest(int[] nums, int target) {
int minans = Integer.MAX_VALUE;
int ans = 0;
int len = nums.length;
Arrays.sort(nums);// 对数组进行排序
for(int a = 0; a leave){
if(Math.abs(target - nums[a] - nums[b] - nums[c]) < minans){
minans = Math.abs(target - nums[a] - nums[b] - nums[c]);
ans = nums[a] + nums[b] + nums[c];
}
c--;
}
if(b == c){
break;
}
if(Math.abs(target - nums[a] - nums[b] - nums[c]) < minans){
minans = Math.abs(target - nums[a] - nums[b] - nums[c]);
ans = nums[a] + nums[b] + nums[c];
}
}
}
return ans;
}
}
Original: https://www.cnblogs.com/GarrettWale/p/16103675.html
Author: Garrett_Wale
Title: LeetCode-16. 最接近的三数之和
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/583194/
转载文章受原作者版权保护。转载请注明原作者出处!