【算法系列之十二】最接近的三数之和
给定一个包括 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;}}
【算法系列之十二】最接近的三数之和相关推荐
- Leetcode算法Java全解答--16. 最接近的三数之和
Leetcode算法Java全解答–16. 最接近的三数之和 文章目录 Leetcode算法Java全解答--16. 最接近的三数之和 题目 想法 结果 总结 代码 我的答案 暴力破解 滑动列表 大佬 ...
- 【数据结构与算法】之深入解析“最接近的三数之和”的求解思路与算法示例
一.题目要求 给你一个长度为 n 的整数数组 nums 和 一个目标值 target.请你从 nums 中选出三个整数,使它们的和与 target 最接近,返回这三个数的和. 假定每组输入只存在恰好一 ...
- python【力扣LeetCode算法题库】16- 最接近的三数之和
最接近的三数之和 给定一个包括 n 个整数的数组 nums 和 一个目标值 target.找出 nums 中的三个整数,使得它们的和与 target 最接近.返回这三个数的和.假定每组输入只存在唯一答 ...
- 算法:最接近的三数之和
题目: 给定一个包括 n 个整数的数组 nums 和 一个目标值 target.找出 nums 中的三个整数,使得它们的和与 target 最接近.返回这三个数的和.假定每组输入只存在唯一答案. 示例 ...
- 【算法】3Sum Closest 最接近的三数之和
文章目录 3Sum Closest 最接近的三数之和 问题描述: 分析 代码 二分 双指针 Tag 3Sum Closest 最接近的三数之和 问题描述: 给你一个长度为 n 的整数数组 nums 和 ...
- [Leetcode16]最接近的三数之和
[Leetcode16]最接近的三数之和 转载自leetcode https://leetcode-cn.com/problems/3sum-closest/ 1.题目 给定一个包括 n 个整数的数组 ...
- LeetCode 15三数之和16最接近的三数之和
三数之和(双指针) 题意: 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组. 注意 ...
- leetcode 16. 3Sum Closest | 16. 最接近的三数之和(双指针)
题目 https://leetcode.com/problems/3sum-closest/ 题解 方法1:固定 L,双指针找 M.R 时间复杂度 O(n^2),推荐此方法. 证明不会有元素遗漏,详见 ...
- 20200126:(leetcode)三数之和 最接近的三数之和(含图解)
三数之和 && 最接近的三数之和 题目 基本思路 代码实现 题目 三数之和 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b ...
最新文章
- 查询name和age当name相同时选择age最大的
- 内核对象管理:Slab,Slub
- 已然是身份的象征了?Coach品牌再入天猫 只有目标用户才有机会看到
- jaxp与dom4j遍历xml树
- 这个低代码报表开发平台,操作类似Excel,用好了不需要加班
- 查询oracle表空间有什么数据,oracle查询表空间使用情况与查询有哪些数据库实例在运行...
- 声学信号频谱图分类(十三)
- Vue:embed结合ElementUI中dialog实现PDF文件预览
- PHP实现手机归属地查询API接口
- MongoDB的性能优化
- 无线网络密码破解软件BackTrack3+spoonwep2中文包+闪盘制作教程
- vscode 的工作台配置文件
- SDCC 2016讲师、知名JavaScript专家周爱民议题公布:有前端思想的物联网系统架构...
- Lineage OS15.1 for sagit 编译
- 关于ARGB_8888、ALPHA_8、ARGB_4444、RGB_565的理解
- Learning Texture Transformer Network for Image Super-Resolution(全译文+大量名词链接)读论文记录①
- 【Office】Word中的标尺,如何以厘米为单位显示
- 网上企业订货系统平台源码价介绍|移讯云手机订单管理软件
- 最快速度求两个数组之交集算法
- 海明码相关知识及解题方法
热门文章
- python中setup什么意思_一个关于python3中setup.py小概念
- Linux查看设置系统时区
- Iterator模式
- pyspark 修改python版本_python – Pyspark从日期到字符串更改列的类型
- Sharepoin学习笔记—架构系列--04 Sharepoint的四种执行模型 1
- SharePoint 2007 and 2010 的服务器场的端口
- 由浅到深理解ROS(8)-线程管理
- python tempfile自动删除_Python tempfile模块生成临时文件和临时目录
- 怎么用vc采集ni卡数据_8bit,200MS/s 低成本模拟输入高速采集卡FCFR-PCI9850
- python数据可视化从入门到实战_《Python编程从入门到实践》json数据可视化练习详解...