方法1: 两个指针暴力破解
class Solution:
def twoSum(self , numbers , target ):
masterIndex = 0
subIndex = 1
arrayLen = len(numbers)
while masterIndex <= arrayLen -2:
subIndex = masterIndex + 1
while subIndex <= arrayLen - 1:
if target == numbers[subIndex] + numbers[masterIndex]:
return [masterIndex + 1, subIndex + 1]
subIndex += 1
masterIndex += 1
方法2: 字典模仿哈希表
class Solution:
def twoSum(self , numbers , target ):
if len(numbers)>1:
# key 为 数组值,value为数组索引
hashMap = {}
for i in range(len(numbers)):
another = target - numbers[i]
# 若在哈希表中,返回其值对应的索引
if another in hashMap:
return [hashMap[another]+1, i + 1]
# 若不在,则加入哈希表中
else:
hashMap[numbers[i]] = i
return []
else:
return []