leetcode167Two Sum II
来源:互联网 发布:php mysql 中文乱码 编辑:程序博客网 时间:2024/06/08 14:06
这个算法易于理解但是效果不是很好
class Solution(object):
def twoSum(self, numbers, target):"""
:type numbers: List[int]
:type target: int
:rtype: List[int]
"""
if not numbers and len(numbers)==0:
return []
for i in range(len(numbers)):
l,r=i+1,len(numbers)-1
while l<=r:
mid = l+(r-l)/2
if numbers[mid]==target-numbers[i]:
return [i+1,mid+1]
elif numbers[mid]<target-numbers[i]:
l=mid+1
else:
r=mid-1
return []
算法改进:用两个指针来扫描,一个前一个后
slow,fast=0,len(numbers)-1
while slow<fast:
if numbers[slow]<target-numbers[fast]:
slow+=1
elif numbers[slow]>target-numbers[fast]:
fast-=1
else:
return [slow+1,fast+1]
0 0
- leetcode167Two Sum II
- 【Leetcode】Path Sum II (Sum)
- Combination Sum && Combination Sum II
- Combination Sum Combination Sum II
- Combination Sum II
- LeetCode: Combination Sum II
- LeetCode: Combination Sum II
- LeetCode: Path Sum II
- [LeetCode]Combination Sum II
- LeetCode Combination Sum II
- LeetCode Path Sum II
- [Leetcode] Combination Sum II
- [Leetcode] Path Sum II
- LeetCode: Path Sum II
- Path Sum II
- Combination Sum II
- [LeetCode] Path Sum II
- [LeetCode] Combination Sum II
- Android深入四大组件(四)广播的注册、发送和接收过程
- js实现的CSS color 十六进制与RGB值的转换
- RecyclerView 数据不一致 Inconsistency detected
- guava 源码之 Lists transform的坑
- Understanding Android Core: Looper, Handler, and HandlerThread
- leetcode167Two Sum II
- Android-Weex之多应用选择窗口处理及页面之间的跳转
- java.lang.IllegalStateException: Unable to process parts as no multi-part configuration has been pro
- 安卓回调函数解决不同类之间函数调用和数据通信的问题
- 应用程序中破解微信数据库做数据分析
- appium ios 真机
- java 中对象序列化与反序列化的乱码问题
- 排列和组合问题完全解析
- 面向对象的三大特性之继承