概述
1、Two sum
Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1].
答案:使用hashtable,建立数组值和下标的键值对,在python中相当于使用dict来存储,dict的key是数组的值,数组的下标是dict的value。
class Solution(object):
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
dict = {} # 定义一个字典
for i in xrange(len(nums)): # 遍历数组
x = nums[i] # 取当前数组的值
if target-x in dict: # 如果target减去当前值的差在字典的key中可以找到,直接可以返回dtarget-x对应的值,也即下标
return (dict[target-x], i) # 返回当前下标和找到的下标
dict[x] = i # 将数组值和下标数存入dict
最后
以上就是香蕉蛋挞为你收集整理的leetcode-Two sum(最佳思路以及python代码实现)的全部内容,希望文章能够帮你解决leetcode-Two sum(最佳思路以及python代码实现)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复