leetcood学习笔记-167-两数之和 II - 输入有序数组

 

题目描述:

第一次提交:

class Solution(object):
    def twoSum(self, numbers, target):
        """
        :type numbers: List[int]
        :type target: int
        :rtype: List[int]
        """
        a = 0
        b = len(numbers)-1
        
        while a != b:
            sum = numbers[a] + numbers[b]
            if sum > target:
                b -= 1
            elif sum < target:
                a += 1
            elif sum == target:
                return a+1,b+1
        return None

注:此方法超时:

class Solution(object):
    def twoSum(self, numbers, target):
        """
        :type numbers: List[int]
        :type target: int
        :rtype: List[int]
        """
        res=[]
        for i in range(len(numbers)):

            if (target-numbers[i]) in numbers[i+1:]:
                res.append(i+1)
                res.append(numbers[i+1:].index(target-numbers[i])+1+i+1)
                break
        return res  

 

 

 

 

---恢复内容结束---

posted @ 2019-03-20 08:25  oldby  阅读(147)  评论(0编辑  收藏  举报