public class Solution {
public int threeSumClosest(int[] num, int target) {
int result = Integer.MAX_VALUE;
if (num == null || num.length < 3) {
return result;
}
Arrays.sort(num);
int minDiff = Integer.MAX_VALUE;
for (int index = 0; index < num.length - 2; index++) {
int start = index + 1;
int end = num.length - 1;
while (start < end) {
int sum = num[index] + num[start] + num[end];
int diff = Math.abs(sum - target);
if (diff < minDiff) {
minDiff = diff;
result = sum;
}
if (sum < target) {
start++;
} else if (sum > target) {
end--;
} else {
start++;
end--;
}
}
}
return result;
}
}
3sum closet
最新推荐文章于 2021-07-02 14:12:25 发布