0.题目
1.哈希表 o(N) o(N)
建立哈希表,需要o(N)空间复杂度。
class Solution(object):
def twoSum(self, nums, target):
hashtable = dict()
for i,num in enumerate(nums):
if target-num in hashtable:
return hashtable[target-num],i
hashtable[nums[i]] = i #nums按先后顺序进入哈希表
return [] #没有元素对
2. 暴力枚举 o(N^2) o(1)
class Solution:
def twoSum(self, nums, target):
n = len(nums)
for i in range(n):
for j in range(i + 1, n):
if nums[i] + nums[j] == target:
return [i, j]
return []