#题目自带的一行什么class Solution的代码,我试试全删了会怎样,发现没关系呵呵
#更新:不能乱删东西,题目已经给出了numbers和target并且指明了返回值是一个int型的列表
class Solution:
    def twoSum(self , numbers: List[int], target: int) -> List[int]:
        res = [];res1=[]
        for i in range(len(numbers)-1):
            res = [i+1] #本题的数组下标是从1开始的
            for j in range(i+1,len(numbers)):
                if numbers[i] + numbers[j] == target:
                    res.append(j+1)
                    return res
#上述方法会超时,所以还得用下面的方法,哈希表方法:
class Solution:
    def twoSum(self , numbers: List[int], target: int) -> List[int]:
        res = []
        #创建哈希表,两元组分别表示值、下标
        hash = dict() 
        #在哈希表中查找target-numbers[i]
        for i in range(len(numbers)) :
            temp = target - numbers[i]
            #若是没找到,将此信息计入哈希表
            if temp not in hash: 
                hash[numbers[i]] = i
            else:
                #哈希表中记录的是之前的数字,所以该索引比当前小
                res.append(hash[temp] + 1) 
                res.append(i + 1)
                break
        return res   #后几句也可以写成return [hash[temp] + 1,i+1]