题目链接

给定数组a[](长度不小于3)和一个数字target,要求从a中选取3个数字,让它们的和尽量接近target。
解法:首先对数组a进行排序,其次枚举最外面两层指针,对于第三个指针肯定是从右往左(由大变小)慢慢单向滑动的。

class Solution(object):def __init__(self):self.ans=0xffffffffffdef threeSumClosest(self, nums, target): nums=sorted(nums) def update(i,j,k):#更新答案now_ans=nums[i]+nums[j]+nums[k]if abs(self.ans-target)>abs(now_ans-target):self.ans=now_ansfor i in range(len(nums)-2):k=len(nums)-1for j in range(i+1,len(nums)-1): while k>j and nums[i]+nums[j]+nums[k]>target:k-=1if k<j:update(i,j,j+1)break if k>j and k<len(nums):update(i,j,k) if k>=j and k+1<len(nums):update(i,j,k+1)return self.ans

转载于:https://www.cnblogs.com/weiyinfu/p/7582384.html

leetcode16 3-Sum相关推荐

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

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

  2. 思维私塾——LeetCode16.最接近的三数之和

    目录 LeetCode16.最接近的三数之和 题目: 分析 只找一个数 找两个数的和 找三个数的和 代码实现 最后 LeetCode16.最接近的三数之和 ​ 各位朋友们大家好呀,我是你的老朋友冢狐, ...

  3. go build 编译报错 missing go.sum entry for module providing package

    go build 编译报错 missing go.sum entry for module providing package 解决方法 // 移除未使用的依赖 go mod tidy 再次编译,就可 ...

  4. pytorch之expand,gather,squeeze,sum,contiguous,softmax,max,argmax

    目录 gather squeeze expand sum contiguous softmax max argmax gather torch.gather(input,dim,index,out=N ...

  5. C语言计算e1 1/1! 1/2!,c语言程序填空 下面程序是计算sum=1+(1+1/2)+(1+1/2+1/3)+…(1+1/2...

    匿名用户 1级 2016-06-25 回答 <C语言>综合练习题一注意:以下"□"为空格,为回车一.单选题1.阅读以下程序,当输入数据的形式为:25,13,10,正确的 ...

  6. PyTorch 笔记(07)— Tensor 的归并运算(torch.mean、sum、median、mode、norm、dist、std、var、cumsum、cumprod)

    1. Tensor 归并运算函数 此类操作会使输出形状小于输入形状,并可以沿着某一维度进行指定操作,如加法, 既可以计算整个 tensor 的和,也可以计算 tensor 每一行或者 每一列的和, 常 ...

  7. [leetcode] Minimum Path Sum

    Minimum Path Sum Given a m x n grid filled with non-negative numbers, find a path from top left to b ...

  8. usaco ★Zero Sum 和为零

    ★Zero Sum 和为零 请考虑一个由 1 到 N(N=3, 4, 5 ... 9)的数字组成的递增数列:1 2 3 ... N. 现在请在数列中插入"+"表示加,或者" ...

  9. 二叉树:路径之和 Path Sum

    给定一个二叉树与整数sum,找出所有从根节点到叶结点的路径,这些路 径上的节点值累加和为sum 即创建一个二叉树,要求二叉树中有一个路径从根节点到叶节点到路径加起来代表到和为 给定的sum 如下二叉树 ...

  10. 递归/回溯:Combination Sum II数组之和

    问题如下: 已知一组数(其中有重复元素),求这组数可以组成的所有子集中,子 集中的各个元素和为整数target的子集,结果中无重复的子集. 例如: nums[] = [10, 1, 2, 7, 6, ...

最新文章

  1. Matlab函数bwmorph
  2. 1129 Recommendation System (25 分)【难度: 一般 / 知识点: 滑动窗口】
  3. java前沿技术_Java语言就业前景如何?这4个就业方向都很吃香
  4. linux db2 强制停止,DB2强制退出ROLLBACK状态
  5. 最短路(遍历边)计蒜客—DD坐地铁
  6. mysql 回滚之后抛出异常_在PHP中 开始事务后,程序抛出异常 没有执行commit也没有执行rollback mysql事务会回滚吗?...
  7. c++实现数值的整数次方(类似pow())作用
  8. eclipse插件:OpenExplorer快速打开文件目录
  9. 转载(Asp.net Core 中试使用ZKWeb.System.Drawing)
  10. solidity教程:solidity语言入门
  11. Java中的方法重载(overload)
  12. PS分形图、人脸更换、蒙版技巧分享
  13. linux777是什么权限,linux设置777权限意思
  14. 比上清华更难的,是加入这支中国顶级黑客战队
  15. 学习自旋电子学的笔记01:微磁模拟软件OOMMF的教程(中文版)7.3.5-9章
  16. 销售额总和的分类汇总计算机操作,销售数据excel表格分类-如何在EXCEL表格中按类别小计?...
  17. 欧尼酱讲JVM(06)——指点江山—程序计数器
  18. sunday算法特征码_实现 Sunday 算法
  19. 富文本编辑器,可编辑div contentEditable=true,光标位置window.getSelection
  20. 10分钟看懂Docker和K8S

热门文章

  1. ascii码和unicode
  2. 利用java导入导出excel到oracle数据库
  3. 关于spark写入文件至文件系统并制定文件名之自定义outputFormat
  4. 中山纪念中学培训DAY1
  5. JavaScript学习总结(二十)——Javascript非构造函数的继承
  6. 【数据库系统设计】数据库安全性
  7. [转]Linux下VSCode常用的快捷键
  8. 用汇编语言与C语言实验其他排序,微机原理实验报告冒泡排序
  9. LinuxCentos7 防火墙开放端口,查看状态,查看开放端口
  10. 帆软报表插件开发之fine-decision中的LogInOutEventProvider扩展