码迷,mamicode.com
首页 > 编程语言 > 详细

[leetcode]3Sum Closest @ Python

时间:2014-04-29 16:37:46      阅读:432      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   java   color   使用   

原题地址:http://oj.leetcode.com/problems/3sum-closest/

题意:数组中每三个元素进行求和,找出所有和中大小最接近target的和,并返回这个和与target之间的差值。

解题思路:使用一个变量mindiff来监测和与target之间的差值,如果差值为0,直接返回sum值。

代码:

mamicode.com,码迷
class Solution:
    # @return an integer
    def threeSumClosest(self, num, target):
        num.sort()
        mindiff=100000
        res=0
        for i in range(len(num)):
            left=i+1; right=len(num)-1
            while left<right:
                sum=num[i]+num[left]+num[right]
                diff=abs(sum-target)
                if diff<mindiff: mindiff=diff; res=sum
                if sum==target: return sum
                elif sum<target: left+=1
                else: right-=1
        return res
mamicode.com,码迷

 

[leetcode]3Sum Closest @ Python,码迷,mamicode.com

[leetcode]3Sum Closest @ Python

标签:style   blog   http   java   color   使用   

原文地址:http://www.cnblogs.com/zuoyuan/p/3699449.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!