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

例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.

与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/3sum-closest
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
———————————————
解题思路:使用双指针,对于数字nums[i],遍历nums[i+1]到nums[length],找到其中三数之和最接近target的值。

class Solution:def threeSumClosest(self, nums: List[int], target: int) -> int:length = len(nums)if length<3:return Nonenums.sort()num = float('inf')res = 0for n in range(length):  # 以数组中的每一个数字为基准点,遍历n+1到length-1L = n+1R = length-1while L<R:ans = nums[n] + nums[L] + nums[R]  # 计算三数之和if abs(ans-target)<num:  # 如果三数之和和target小于当前的最小值res = ans  # 对三数之和进行更新num = abs(ans-target)  # 对当前最小值进行更新if ans>target: R-=1elif ans<target:L+=1else:return ansreturn res

leetcode —— 16. 最接近的三数之和相关推荐

  1. Java实现 LeetCode 16 最接近的三数之和

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

  2. leetcode 16.最接近的三数之和

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

  3. LeetCode 16. 最接近的三数之和(固定左端+滑动窗口)

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

  4. LeetCode 16. 最接近的三数之和 3Sum Closest

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

  5. 3. Leetcode 16. 最接近的三数之和 (数组-双向双指针)

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

  6. LeetCode 16最接近的三数之和

    力扣 思路 排序+双指针 枚举第一个数a,对剩下的两个元素b,c,希望它们的和最接近target-a 1.如果它们在原数组中枚举的范围没有任何规律可言,只能用两重循环来枚举所有情况 ->考虑对数 ...

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

    https://leetcode-cn.com/problems/3sum-closest/ 解决方案 class Solution {public int threeSumClosest(int[] ...

  8. Leetcode 16. 最接近的三数之和(3Sum Closest)

    解法一: class Solution { public:int threeSumClosest(vector<int>& nums, int target) {int close ...

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

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

最新文章

  1. 14条改善jquery代码的建议
  2. laravel中TokenMismatchException异常处理
  3. 静态html使用js发送邮件,html实现邮箱发送邮件_js发送邮件至指定邮箱功能
  4. linux下的几种隐藏技术
  5. 如何设置取消小票的二维码
  6. NOIP2017洛谷P3953:逛公园(分层图最短路、dp、拓扑)
  7. 客户端渲染换为服务器端渲染_服务器与客户端渲染(AngularJS与服务器端MVC)
  8. 47 - 算法 - Leetcode -167-两数之和 - 输入有序数组
  9. WebMatrix经典案例
  10. persevere的用法_persevere的用法是什么
  11. 论文阅读笔记——人脸网络:人脸识别和聚类的统一嵌入
  12. 苹果6s强制删除id锁_苹果解锁软件 屏幕解锁及AppleID解锁
  13. linux电容触摸屏驱动参数,linux 电容触摸屏驱动-1
  14. 电工与电子技术基础【3】
  15. Java项目(SpringBoot+MyBatis-Plus):国内新冠肺炎疫情大数据可视化平台+疫情数据后台管理系统
  16. 『C++』endl、ends和flush的区别
  17. 解决谷歌浏览器跨域问题
  18. Cameralink转VGA接口转换模块
  19. 总谐波失真80_总谐波失真(THD)
  20. 64位操作系统和32位的区别介绍【详解】

热门文章

  1. 清空VS2003/VS2005最近打开解决方案记录
  2. 当Spring 容器初始化完成后执行某个方法
  3. Spring Security 示例UserDetailsS​​ervice
  4. How to Install and Configure OpenSSH Server In Linux
  5. 1、Docker部署及基础理论
  6. docker安装redis并将配置文件和数据文件映射到外部
  7. 【C语言】输入一个整数x并判断x是否存在于数组a中
  8. C语言编译和链接详解(通俗易懂,深入本质)
  9. Linux入门学习(十)
  10. 在SQL中检查约束-用MySQL和SQL Server语法示例解释