2019-03-06-算法-进化(最接近的三数之和)
题目描述
给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。
例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).
思路和之前文章(三数之和:https://blog.csdn.net/zhaohong_bo/article/details/88224664)类似,都是O(n`2),双指针。
代码如下:
public int threeSumClosest(int[] nums, int target) {if(nums == null || nums.length<3) {throw new RuntimeException();}Arrays.sort(nums);int sum =0;int result=nums[0]+nums[1]+nums[2];for(int i=0;i<nums.length-2;i++) {int l=i+1, r = nums.length-1;while(l<r) {sum = nums[i]+nums[l]+nums[r];if(sum == target) {return sum;}if(Math.abs(target - sum) < Math.abs(target - result)) {result = sum;}if(sum > target) {while(l<r && nums[r-1] == nums[r])r--;r--;}else if (sum < target) {while(l<r && nums[l+1] == nums[l])l++;l++;}}}return result;}
2019-03-06-算法-进化(最接近的三数之和)相关推荐
- 算法:最接近的三数之和
题目: 给定一个包括 n 个整数的数组 nums 和 一个目标值 target.找出 nums 中的三个整数,使得它们的和与 target 最接近.返回这三个数的和.假定每组输入只存在唯一答案. 示例 ...
- leetcode算法题--最接近的三数之和
原题链接:https://leetcode-cn.com/problems/3sum-closest/ 排序+双指针 int threeSumClosest(vector<int>& ...
- Leetcode算法Java全解答--16. 最接近的三数之和
Leetcode算法Java全解答–16. 最接近的三数之和 文章目录 Leetcode算法Java全解答--16. 最接近的三数之和 题目 想法 结果 总结 代码 我的答案 暴力破解 滑动列表 大佬 ...
- 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 ...
最新文章
- 支撑Spring的基础技术:泛型,反射,动态代理,cglib等
- python必背内容-学 Python 必背的42个常见单词,看看你记住了几个?
- php curl模拟post提交,php curl模拟post提交数据示例
- entry for sde instance not found in services file解决方法[转]
- 用NPOI从DataBase到Excel '2
- Struts2的Interceptor和Listener以及Plugin
- 混合牛奶(洛谷-P1208)
- 数据结构基础学习之(串与数组)
- 老表,教你一招啊!!!如何用python实现将csv文件快速导入数据库,建议收藏!!!
- 真正的卡巴斯基key 教你使用正版KASPERSKY授权到2008年
- 《疯狂的站长》读后感1
- No bootable device
- 新兴新能源设施[1]--盐穴压缩空气储能相关配套设施
- 想转行做数据产品经理?这份书单赶紧收藏起来
- 循环语句:for 语句详解
- Video.js使用教程(二)
- Scratch官方教程中文版(3)——让英文字母动起来
- DataGrid自动调整行高
- 很短很感人的爱情故事:经典伤感QQ日志
- 航海王燃烧意志服务器维护是什么,航海王燃烧意志12月6日更新了什么 航海王燃烧意志更新维护公告...
热门文章
- python自带的函数有哪些_为什么说 Python 内置函数并不是万能的?
- 知乎高赞:这个开挂神器简直了!
- TensorFlow发布全新版本,又会带来哪些变革?
- K-Means算法的10个有趣用例
- 建模分析师与算法工程师的主要区别
- 《SAS编程与数据挖掘商业案例》学习笔记之八
- android http 三次 握手,面试解析:3次握手与4次挥手
- 在google play开放平台上closed texting如何删除_“爷青回”!如何抢先体验《英雄联盟》手游?这份攻略送给你...
- wordpress home.php,WordPress主题通过function.php来加载js和css文件
- php 下拉表单,PHP表单和填充下拉列表问题