1.题目
这比上一个题简单多了,就是让你求最接近目标值的三个数的和。
2.解答
public class day_15 {
public static void main(String[] args) {
int[] number = {-3, -2, -5, 3, -4};
System.out.println(new Solution().threeSumClosest(number, -1));
}
}
class Solution {
public int threeSumClosest(int[] nums, int target) {
int result = nums[0] + nums[1] + nums[2];
int abs = Math.abs(nums[0] + nums[1] + nums[2] - target);
for (int i = 0; i < nums.length - 2; i++) {
for (int i1 = i + 1; i1 < nums.length - 1; i1++) {
for (int i2 = i1 + 1; i2 < nums.length; i2++) {
int sum = nums[i] + nums[i1] + nums[i2];
if (Math.abs(sum - target) < abs) {
abs = Math.abs(sum - target);
result = sum;
}
}
}
}
return result;
}
}
有点水,没想到还有啥改进的