博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
3Sum Closest
阅读量:6463 次
发布时间:2019-06-23

本文共 1117 字,大约阅读时间需要 3 分钟。

Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would have exactly one solution.

For example, given array S = {-1 2 1 -4}, and target = 1.    The sum that is closest to the target is 2. (-1 + 2 + 1 = 2).

这题只需要求最靠近target的值,重复的情况不需要特别处理(处理也可以提速)。思路和一致。

代码如下:

class Solution(object):    def threeSumClosest(self, nums, target):        """        :type nums: List[int]        :type target: int        :rtype: int        """        if not nums or len(nums) < 3:            return 0        nums.sort()        val = sys.maxint        res = 0        for i in xrange(len(nums)-2):            l = i+1            r = len(nums) -1            while l < r:                add = nums[i] + nums[l] + nums[r]                if abs(target - add) < val:                    val = abs(target - add)                    res = add                if add > target:                    r -= 1                else:                    l += 1        return res

 

转载于:https://www.cnblogs.com/sherylwang/p/5627271.html

你可能感兴趣的文章
VMWare: eth0: error fetching interface information : device not found
查看>>
【译】ASP.NET MVC 5 教程 - 9:添加新字段
查看>>
Redis自学笔记 --string类型
查看>>
jQuery的Ajax的跨域请求
查看>>
EF 接收OUTPUT参数的方法 How to Retrieve Stored Procedure Output Parameters in Entity Framework...
查看>>
腾讯或联姻优酷,微信嫁女模式引发互联网通婚潮流
查看>>
cc攻击技术
查看>>
7-3 倒水问题
查看>>
OAuth 2 Developers Guide--reference
查看>>
Cognos利用DMR与文本对象设计中国式报表
查看>>
WPF资源字典使用
查看>>
atitit.二维码生成总结java zxing
查看>>
centos 安装node js环境
查看>>
Windows 8.1 应用再出发 - 几种常用控件
查看>>
老王心中的委屈,大伙们有吗
查看>>
Android开发学习---如何写数据到外部存储设备(sd卡),Environment.getExternalStorageDirectory,怎么获取sd卡的大小?...
查看>>
nyoj------79拦截导弹
查看>>
数据类的设计
查看>>
数论公式
查看>>
Sublime Text 3 绿色汉化版 x64
查看>>