您的位置:首页 > 其它

[leetcode]两数之和

2018-08-28 21:43 218 查看
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。

你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。

示例:

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

class Solution(object):
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
nums_len = len(nums)
nums_dict={}
for i in range(0,len(nums)):
if nums[i] in nums_dict:
nums_dict[nums[i]].append(i)
else:
nums_dict[nums[i]]=[i]
for i in range(0,nums_len):
res=target-nums[i]
if res in nums_dict:
if nums[i] == res and len(nums_dict[res]) >= 2:
return [i, nums_dict[res][1]]
elif nums[i]!=res:
return [i,nums_dict[res][0]]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: