2 sum 模板
class Solution(object):
def twoSum(self, numbers, target):
"""
:type numbers: List[int]
:type target: int
:rtype: List[int]
"""
if not numbers:
return
results = []
p1 = 0
p2 = len(numbers) - 1
while p1 < p2:
if p1 != 0 and numbers[p1] == numbers[p1-1]:
p1 += 1
continue
if p2 != len(numbers) - 1 and numbers[p2] == numbers[p2+1]:
p2 -= 1
continue
cur_sum = numbers[p1] + numbers[p2]
if cur_sum < target:
p1 += 1
elif cur_sum > target:
p2 -= 1
else:
results.append([p1, p2])
return results