给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。

例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).
public class ThreeSumClosest {public static void main(String[] args) {int[] nums = { -1, 2, 1, -4 };System.out.println(threeSumClosest(nums, 1)); // 2}public static int threeSumClosest(int[] nums, int target) {int closestSum = 0, diff = Integer.MAX_VALUE; // 初始化最接近的三个数的和 及 与目标值的差值(绝对值)Arrays.sort(nums); // 对数组排序for (int k = 0; k < nums.length - 2; k++) { // 第一个数的索引int i = k + 1, j = nums.length - 1; // 第二个和第三个数的索引while (i < j) {int sumTemp = nums[k] + nums[i] + nums[j]; // 当前的三数之和int diffTemp = Math.abs(target - sumTemp); // 当前三数之和与目标值差值的绝对值if (diffTemp < diff) { // 如果差值绝对值小于之前的,则更新最接近的三个数的和 及 与目标值的差值(绝对值)closestSum = sumTemp;diff = diffTemp;}if (sumTemp > target) { // 如果三数之和大于目标值,则减小最大的第三个数j--;} else if (sumTemp < target) { // 如果三数之和小于目标值,则增大的第二个数i++;} else {return target; // 如果和目标值相等,那当然就是最接近的三数之和了}}}return closestSum;}}

【算法系列之十二】最接近的三数之和相关推荐

  1. Leetcode算法Java全解答--16. 最接近的三数之和

    Leetcode算法Java全解答–16. 最接近的三数之和 文章目录 Leetcode算法Java全解答--16. 最接近的三数之和 题目 想法 结果 总结 代码 我的答案 暴力破解 滑动列表 大佬 ...

  2. 【数据结构与算法】之深入解析“最接近的三数之和”的求解思路与算法示例

    一.题目要求 给你一个长度为 n 的整数数组 nums 和 一个目标值 target.请你从 nums 中选出三个整数,使它们的和与 target 最接近,返回这三个数的和. 假定每组输入只存在恰好一 ...

  3. python【力扣LeetCode算法题库】16- 最接近的三数之和

    最接近的三数之和 给定一个包括 n 个整数的数组 nums 和 一个目标值 target.找出 nums 中的三个整数,使得它们的和与 target 最接近.返回这三个数的和.假定每组输入只存在唯一答 ...

  4. 算法:最接近的三数之和

    题目: 给定一个包括 n 个整数的数组 nums 和 一个目标值 target.找出 nums 中的三个整数,使得它们的和与 target 最接近.返回这三个数的和.假定每组输入只存在唯一答案. 示例 ...

  5. 【算法】3Sum Closest 最接近的三数之和

    文章目录 3Sum Closest 最接近的三数之和 问题描述: 分析 代码 二分 双指针 Tag 3Sum Closest 最接近的三数之和 问题描述: 给你一个长度为 n 的整数数组 nums 和 ...

  6. [Leetcode16]最接近的三数之和

    [Leetcode16]最接近的三数之和 转载自leetcode https://leetcode-cn.com/problems/3sum-closest/ 1.题目 给定一个包括 n 个整数的数组 ...

  7. LeetCode 15三数之和16最接近的三数之和

    三数之和(双指针) 题意: 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组. 注意 ...

  8. leetcode 16. 3Sum Closest | 16. 最接近的三数之和(双指针)

    题目 https://leetcode.com/problems/3sum-closest/ 题解 方法1:固定 L,双指针找 M.R 时间复杂度 O(n^2),推荐此方法. 证明不会有元素遗漏,详见 ...

  9. 20200126:(leetcode)三数之和 最接近的三数之和(含图解)

    三数之和 && 最接近的三数之和 题目 基本思路 代码实现 题目 三数之和 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b ...

最新文章

  1. 查询name和age当name相同时选择age最大的
  2. 内核对象管理:Slab,Slub
  3. 已然是身份的象征了?Coach品牌再入天猫 只有目标用户才有机会看到
  4. jaxp与dom4j遍历xml树
  5. 这个低代码报表开发平台,操作类似Excel,用好了不需要加班
  6. 查询oracle表空间有什么数据,oracle查询表空间使用情况与查询有哪些数据库实例在运行...
  7. 声学信号频谱图分类(十三)
  8. Vue:embed结合ElementUI中dialog实现PDF文件预览
  9. PHP实现手机归属地查询API接口
  10. MongoDB的性能优化
  11. 无线网络密码破解软件BackTrack3+spoonwep2中文包+闪盘制作教程
  12. vscode 的工作台配置文件
  13. SDCC 2016讲师、知名JavaScript专家周爱民议题公布:有前端思想的物联网系统架构...
  14. Lineage OS15.1 for sagit 编译
  15. 关于ARGB_8888、ALPHA_8、ARGB_4444、RGB_565的理解
  16. Learning Texture Transformer Network for Image Super-Resolution(全译文+大量名词链接)读论文记录①
  17. 【Office】Word中的标尺,如何以厘米为单位显示
  18. 网上企业订货系统平台源码价介绍|移讯云手机订单管理软件
  19. 最快速度求两个数组之交集算法
  20. 海明码相关知识及解题方法

热门文章

  1. python中setup什么意思_一个关于python3中setup.py小概念
  2. Linux查看设置系统时区
  3. Iterator模式
  4. pyspark 修改python版本_python – Pyspark从日期到字符串更改列的类型
  5. Sharepoin学习笔记—架构系列--04 Sharepoint的四种执行模型 1
  6. SharePoint 2007 and 2010 的服务器场的端口
  7. 由浅到深理解ROS(8)-线程管理
  8. python tempfile自动删除_Python tempfile模块生成临时文件和临时目录
  9. 怎么用vc采集ni卡数据_8bit,200MS/s 低成本模拟输入高速采集卡FCFR-PCI9850
  10. python数据可视化从入门到实战_《Python编程从入门到实践》json数据可视化练习详解...