16. 3Sum Closest
来源:互联网 发布:python中exec 编辑:程序博客网 时间:2024/05/17 22:32
题意:给定一个含有n个数的数组S,找出其中的三个数即它们的和与给定的目标数最接近,并返回这三个数的和,假定每个输入只有一个解。
For example, given array S = {-1 2 1 -4}, and target = 1.The sum that is closest to the target is 2. (-1 + 2 + 1 = 2).
思路:解法和15.3Sum 类似,只是要求的是使三个数的和与目标数的差尽量接近0,用一个mint来存储暂时的差的绝对值最小值即可。
class Solution(object): def threeSumClosest(self, nums, target): """ :type nums: List[int] :rtype: List[List[int]] """ nums = sorted(nums) mint = float('inf') for i in xrange(len(nums)-2): if i > 0 and nums[i] == nums[i-1]: continue j, k = i+1, len(nums)-1 while j < k: sumt = nums[i]+nums[j]+nums[k]-target if abs(sumt) == 0: return nums[i]+nums[j]+nums[k] if abs(sumt) < mint: answer = nums[i]+nums[j]+nums[k] mint = abs(sumt) if sumt < 0: j += 1 else: k -= 1 return answer
0 0
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 工具类如何使用依赖注入其他组件
- h.264并行解码算法分析
- 提高项目执行力的六板斧
- 1063. 计算谱半径(20)
- 今天开始写博客
- 16. 3Sum Closest
- unity3d中的一些数学计算方法
- 第十五周oj题目字符串替换
- 提取所有用户的第二个订单信息
- 1064. 朋友数(20)
- Eclipse老是闪退,什么问题?及解决办法
- opencv计算机视觉学习笔记一
- 提高GPGPU-Sim运行benchmark的速度-小白版
- GNS 3 unable to create generic ethernet NOI 解决方法