leetcode 16. 3Sum Closest | 16. 最接近的三数之和(双指针)
题目
https://leetcode.com/problems/3sum-closest/
题解
方法1:固定 L,双指针找 M、R
时间复杂度 O(n^2),推荐此方法。
证明不会有元素遗漏,详见官方解答:最接近的三数之和
方法2:双指针,固定 L、R,找 M
这种方式不会导致遗漏,因为首尾已经能覆盖所有的组合。
时间复杂度O(n^2*log(n))
class Solution {public int threeSumClosest(int[] nums, int target) {Arrays.sort(nums);int dif = Integer.MAX_VALUE;for (int i = 0; i < nums.length - 2; i++) {for (int j = i + 2; j < nums.length; j++) {int t = target - nums[i] - nums[j];// 固定包含两端点元素,然后在 (L...R) 区间找到与 t 最近的数int L = i + 1;int R = j - 1;int M;while (L + 1 < R) {M = (L + R) / 2;if (nums[M] == t) return target;else if (nums[M] < t) L = M;else R = M;}if (Math.abs(nums[i] + nums[j] + nums[L] - target) < Math.abs(dif))dif = nums[i] + nums[j] + nums[L] - target;if (Math.abs(nums[i] + nums[j] + nums[R] - target) < Math.abs(dif))dif = nums[i] + nums[j] + nums[R] - target; // nums[i] + nums[j] + nums[R] = target + dif}}return target + dif;}
}
leetcode 16. 3Sum Closest | 16. 最接近的三数之和(双指针)相关推荐
- python【力扣LeetCode算法题库】16- 最接近的三数之和
最接近的三数之和 给定一个包括 n 个整数的数组 nums 和 一个目标值 target.找出 nums 中的三个整数,使得它们的和与 target 最接近.返回这三个数的和.假定每组输入只存在唯一答 ...
- [Leedcode][JAVA][第16题][最接近的三数之和][双指针][数组]
[问题描述][中等] 给定一个包括 n 个整数的数组 nums 和 一个目标值 target.找出 nums 中的三个整数,使得它们的和与 target 最接近.返回这三个数的和.假定每组输入只存在唯 ...
- Java实现 LeetCode 16 最接近的三数之和
16. 最接近的三数之和 给定一个包括 n 个整数的数组 nums 和 一个目标值 target.找出 nums 中的三个整数,使得它们的和与 target 最接近.返回这三个数的和.假定每组输入只存 ...
- Leetcode算法Java全解答--16. 最接近的三数之和
Leetcode算法Java全解答–16. 最接近的三数之和 文章目录 Leetcode算法Java全解答--16. 最接近的三数之和 题目 想法 结果 总结 代码 我的答案 暴力破解 滑动列表 大佬 ...
- LeetCode 15三数之和16最接近的三数之和
三数之和(双指针) 题意: 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组. 注意 ...
- 【算法】3Sum Closest 最接近的三数之和
文章目录 3Sum Closest 最接近的三数之和 问题描述: 分析 代码 二分 双指针 Tag 3Sum Closest 最接近的三数之和 问题描述: 给你一个长度为 n 的整数数组 nums 和 ...
- LeetCode15. 三数之和 16. 最接近的三数之和
LeetCode15. 三数之和 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组 ...
- 20200126:(leetcode)三数之和 最接近的三数之和(含图解)
三数之和 && 最接近的三数之和 题目 基本思路 代码实现 题目 三数之和 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b ...
- Leetcode 最接近的三数之和
最接近的三数之和 题目描述: 给定一个包括 n 个整数的数组 nums 和 一个目标值 target.找出 nums 中的三个整数,使得它们的和与 target 最接近.返回这三个数的和.假定每组输入 ...
最新文章
- R语言ggplot2可视化:ggplot2可视化时间序列数据并在末尾数据点添加数值标签(number label)
- 六种方法实现CSS三栏布局
- 为什么不建议在代码中使用 User 这个单词?
- [zz]Linux 下 socket 编程示例
- JDBC:java.sql.SQLException: Before start of result set怎么办
- mysql解压版下载安装教程_mysql 解压版安装配置方法教程
- 【Elasticsearch】使用自适应副本选择改进弹性搜索的响应延迟
- TLB的作用及工作原理,如何查看TLB miss?
- HDU 3400 Line belt (三分)
- poj1273:Drainage Ditches
- mac系统用什么linux远程工具,推荐几个Mac/Linux下比较好用的工具
- 回首2021,展望2022 | 观成科技步履不停,刻画安全图腾
- 一文带你认清运维岗位
- “大狼狗加密专家”使用简介
- 前有标兵,后有追兵,自热老兵莫小仙胜算还剩几成?
- 基于SVM的中文垃圾短信分类
- 推荐书单——不定时更新
- 猫和老鼠服务器未响应是怎么回事,猫和老鼠为什么进不去
- 漏电继电器LLJ-100FG/CT45mm/AC220V
- jQuery绑定enter事件
热门文章
- 2019ICPC(徐州) - Loli, Yen-Jen, and a cool problem(广义后缀自动机)
- 牛客 - 捡金币(思维+二维前缀和+构造)
- HDU - 5475 An easy problem(线段树)
- std map多线程_SEBR:多线程内存回收方案(1)之ConcurrentHasMap
- 计算机python技术基础知识点_python基础--相关计算机基础知识
- 彻彻底底了解回调函数
- Redis 数据结构 :SDS、链表、字典、跳表、整数集合、压缩列表
- Docker常用操作命令(一)
- IO中的阻塞、非阻塞、同步、异步概念分析详解
- 平均 3000-20000 块不等,有空接外包私活的入群!