题目:
给定一个整数数组 nums
和一个目标值 target
,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
思路:
1.遍历数组,判断target-nums[i]是否在数组剩下的部分,如果是返回位置
2.使用hashmap存储位置,key为target-nums[i],遍历数组同时遍历map
1
class Solution(object):
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
for i in range(len(nums)):
if target - nums[i] in nums[i+1:]:
return [i, nums[i+1:].index(target - nums[i]) + i + 1]
2.
class Solution(object):
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
v= {}
for i in range(len(nums)):
if nums[i] in v:
return [v[nums[i]],i]
else:
v[target - nums[i]] = i