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