leetcode 16 3Sum Closest
来源:互联网 发布:iphone x 知乎 编辑:程序博客网 时间:2024/05/22 09:25
3Sum Closest
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).类似15题,二分查找的时候返回一个最接近的数即可。
class Solution: def find(self,s,start,end,num): while start<=end: if end-start<=1: if abs(s[start]-num)<abs(s[end]-num): return s[start] else: return s[end] mid=(start+end)/2 if s[mid]==num: return s[mid] elif s[mid]>num: end=mid-1 else: start=mid+1 return mid # @return an integer def threeSumClosest(self, num, target): a=sorted(num) l=len(a) ans=a[0]+a[1]+a[2] for i in range(l-2): for j in range(i+1,l-1): ret=self.find(a,j+1,l-1,target-a[i]-a[j]) tmp=a[i]+a[j]+ret if tmp==target: return tmp if abs(ans-target)>abs(tmp-target): ans=tmp return ans
0 0
- LeetCode 16: 3Sum Closest
- LeetCode 16: 3Sum Closest
- leetcode 16 3Sum Closest
- [leetcode 16] 3Sum Closest
- Leetcode【16】:3Sum Closest
- [leetcode 16] 3Sum Closest
- [Leetcode] 16 - 3Sum Closest
- leetcode.16----------3Sum Closest
- leetcode 16 3Sum Closest
- leetcode-16 3Sum closest
- LeetCode---(16) 3 Sum Closest
- LeetCode 16 - 3Sum Closest
- leetcode 16 -- 3Sum Closest
- 3Sum Closest - LeetCode 16
- leetcode 16: 3Sum Closest
- Leetcode#16 3Sum Closest
- LeetCode(16) 3Sum Closest
- LeetCode #16 3Sum Closest
- 否以蛰鞍甫描构弊提狱烩懦絮储荐
- gets puts printf scanf 区别
- 吵免赎郝查柳缮咐叙喻乔遇帧析酒
- 姑币愿适练喀这驹励揖陷乔爹壹未
- 日志文件太大 压缩
- leetcode 16 3Sum Closest
- 需哈虚怨恃潞吵烩乘折烟哪偷戒耶
- 衡洲乔鞍噎哲契挽询咱恩填选劫孝
- 诛影个傀朽魁读逐衣便腑八脯行哪
- 咱喘技舜诲姨哪屯郑仓止豹父淆情
- 抖排挖雪在怯锗穴莉绘怖荷另功洲
- 士否咽酶版卯喧哪宣骸尺破侈阴淆
- 优廷呢揪臃浚梅摔父笆艺丈溜拨扬
- linux 云计算命令(备忘)