辽宁城乡住房建设厅网站首页,wordpress 文章内,高端手机网站 制作公司,广州正规网站建设企业给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数#xff0c;使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。
例如#xff0c;给定数组 nums [-1#xff0c;2#xff0c;1#xff0c;-4], 和 target 1…给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。
例如给定数组 nums [-121-4], 和 target 1.
与 target 最接近的三个数的和为 2. (-1 2 1 2). 思路排序枚举最左边的数字双指针搜索答案最接近的数字。
注意答案的初值要注意一开始写Integer.MAX_VALUE是错误的再加1就有溢出
应该是下标012才对。
class Solution {public int threeSumClosest(int[] nums, int target) {int ansnums[0] nums[1] nums[2];int lennums.length;Arrays.sort(nums);for(int i0;ilen-1;i){int lefti1;int rightlen-1;while(leftright){int tempnums[i]nums[left]nums[right];if(Math.abs(ans-target)Math.abs(temp-target)){anstemp;}if(temptarget){--right;}else{left;}}}return ans;}
}