码迷,mamicode.com
首页 > 其他好文 > 详细

016 3SUM Closest

时间:2015-07-08 07:09:51      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:

这道题与 015 3 SUM 基本思路一样 都是夹逼思想  复杂度 O(n*n)

class Solution:
    # @param {integer[]} nums
    # @param {integer} target
    # @return {integer}
    def threeSumClosest(self, nums, target):
        length = len(nums)
        nums = sorted(nums)
        ans = sum(nums[0:3])
        i = 0
        while i < length - 2:
            j = i + 1
            k = length - 1
            while j < k:
                s = nums[i] + nums[j] + nums[k]
                if s == target:
                    return target
                else:
                    if abs(ans - target) > abs(s - target):
                        ans = s
                    if s < target:
                        j += 1
                    else:
                        k -= 1
            i += 1
        return ans

 

016 3SUM Closest

标签:

原文地址:http://www.cnblogs.com/dapanshe/p/4629060.html

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