您的位置:首页 > 其它

leetcode第一题twoSum

2017-10-12 15:32 323 查看

encoding: utf-8

“””

@contact: 601152819@qq.com

@time: 2017/10/12 13:44

“””

>

“””

这道题目是输入一个数组和target,要在一个数组中找到两个数字,

其和为target,从小到大输出数组中两个数字的位置。题目中假设有

且仅有一个答案。

“”“

def twoSum(nums, target):
"""nums 是传入要查找的数组
target 是我要找的目标值"""
d = {}
size = 0
while size < len(nums):
if not nums[size] in d:#如果字典里面没有,就添加
d[nums[size]] = size + 1
if target - nums[size] in d:#如果目标值-字典中的值还在字典当中
if d[target - nums[size]] < size + 1:
#应该注意这种情况 nums[size] == target - nums[size]
#防止是它本身。1.
#例如target=2,list=[2,1,1,4]
ans = [d[target - nums[size]],size + 1]
print(ans)
size = size + 1
print(twoSum([2,1,1,4,4,5,7],6))```


参考:http://www.cnblogs.com/chruny/p/4788804.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: