您的位置:首页 > 其它

leetcode-16-3sum closest

2016-04-27 11:37 489 查看
题目:给一个list,一个target。找list中3个数相加最接近target的值。

class Solution(object):
def threeSumClosest(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: int
"""
nums.sort()
m=len(nums)
a=[]
minwater=nums[0]+nums[1]+nums[2]
for i in range(m-2):
j=i+1
k=m-1
while(j<k):
water=(nums[i]+nums[j]+nums[k])
if abs(target-water)<=abs(target-minwater):
minwater=water
if minwater==target:
return target
if water>target:
k-=1
else:
j+=1
return minwater


根据3sum 改进,遍历的思路是一样的。改动一个判断来寻找最接近target的值。Accepted。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: