[leetcode 16] 最接近的三数之和
Posted statlearning2019
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[leetcode 16] 最接近的三数之和相关的知识,希望对你有一定的参考价值。
给定一个包括n的整数数组nums,和一个目标值target。找出nums中的三个整数,使得它们的和与target最接近,返回这三个数的和。假定每次输入只存在一个答案。
示例:
nums = [-1,2,1,-4] 和 target = 1
与 target 最接近的三个数的和为2. (-1+2+1=2)
代码:
class Solution(object): def threeSumClosest(self,nums,target): """ :type nums: List[int] :type target: int :rtype: int """ if not nums: return [] sortNum=sorted[nums] closest=sys.maxint for i in range(len(sortNum)): left= i+1 right=len(sortNum)-1 while left < right: Sum = sortNum[i]+sortNum[left]+sortNum[right] if Sum == target: return Sum elif: Sum > target: right -=1 else: left +=1 closest = Sum if abs(Sum - target) > abs (closest - target) else closest return closest
(参考链接:https://www.jianshu.com/p/0399dbefd67e)
以上是关于[leetcode 16] 最接近的三数之和的主要内容,如果未能解决你的问题,请参考以下文章