[leetcode]3Sum Closest @ Python


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

題意:數組中每三個元素進行求和,找出所有和中大小最接近target的和,並返回這個和與target之間的差值。

解題思路:使用一個變量mindiff來監測和與target之間的差值,如果差值為0,直接返回sum值。

代碼:

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM