- 题目要求:
-
思路:
- 使用字典
- 遍历数组,用target - num[i],如果这个值不在字典中,把这个值作为key,下标i作为value,如果存在,可以直接返回i和字典中target - num[i]的value值
- 核心代码:
#定义一个字典
mydict = {}
#遍历数组
for i in range(len(nums)):
#如果target - 当前的值 不在字典中,把当前的值作为key记录在字典中,下标i作为value
if target - nums[i] not in mydict:
mydict[nums[i]] = i
#如果存在,可以直接返回当前的下标和target-当前值 对应的值的下标,python支持返回多个值
else:
return (i , mydict[target-nums[i]])
- 完整代码:
class Solution(object):
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
mydict = {}
for i in range(len(nums)):
if target - nums[i] not in mydict:
mydict[nums[i]] = i
else:
return (i , mydict[target-nums[i]])
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。