語(yǔ)言:python3
v1:輪詢(xún)
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
for i in range(len(nums)):
for j in range(i+1, len(nums)):
if nums[i] + nums[j] == target:
return [i,j]
結(jié)果:超時(shí)了佛掖,提交失敗
v2:建立字典,循環(huán)字典
class Solution:
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
d = {}
for i in range(len(nums)):
if not nums[i] in d:
d[nums[i]] = i #保存數(shù)組位置信息
if target - nums[i] in d:
if d[target - nums[i]] < i: #防止 6-3=3的情況
return [d[target - nums[i]], i]
總結(jié):字典映射結(jié)構(gòu)比f(wàn)or循環(huán)效率更