您的位置:首页 > 游戏 > 手游 > 新疆维吾尔自治区建设工程信息网_免费个人网站源码下载_百度平台商家客服电话_百度提问首页

新疆维吾尔自治区建设工程信息网_免费个人网站源码下载_百度平台商家客服电话_百度提问首页

2024/9/21 17:57:55 来源:https://blog.csdn.net/qq_52127701/article/details/142252944  浏览:    关键词:新疆维吾尔自治区建设工程信息网_免费个人网站源码下载_百度平台商家客服电话_百度提问首页
新疆维吾尔自治区建设工程信息网_免费个人网站源码下载_百度平台商家客服电话_百度提问首页

题目描述


分析

这道题和上一道思想类似,都是固定一个最左侧指针,然后使用双指针进行一个遍历。不同的是本题不需要去重,即找到一个最接近的解即可。初始化起始解的思想比较好,可以借鉴。


代码(Java)
class Solution {public int threeSumClosest(int[] nums, int target) {Arrays.sort(nums);int closestSum = nums[0] + nums[1] + nums[2]; // 初始化最接近的和为数组中前3个数的和,作为起始解for (int i = 0; i < nums.length; i ++) {int j = i + 1, k = nums.length - 1;while (j < k) {int sum = nums[i] + nums[j] + nums[k];if (Math.abs(sum - target) < Math.abs(closestSum - target)) {closestSum = sum;}if (sum == target) {return sum;} else if (sum < target) {j ++;} else {k --;}}}return closestSum;}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com