在一个数组中找出和为目标值的那 两个 整数,并返回他们的数组下标python代码(Leetcode1)

最近跟着国外的导师做语音情感识别,开始踏上了学习python之路,之前一直不愿意接触python,感觉c++更牛一点,C++会了之后python很简单的就学会了,上手后两种感觉:1 真香  2不像想象的那么简单。忙完老师布置的任务之后,又要立一波flag了,每天都在leetcode练练手,不知道能坚持三天吗,不管了,flag还是要立的。

 

def twoSum(nums, target):
    hashmap={}
    for ind,num in enumerate(nums):
        hashmap[num] = ind
    for i,num in enumerate(nums):
        j = hashmap.get(target - num)
        if j is not None and i!=j:
            return [i,j]

作者:lao-la-rou-yue-jiao-yue-xiang
链接:https://leetcode-cn.com/problems/two-sum/solution/xiao-bai-pythonji-chong-jie-fa-by-lao-la-rou-yue-j/
来源:力扣(LeetCode)

这个算法是我从题解里面找到的,我是菜鸟一个,暂时写不出来什么牛逼的算法,前期只能学习人家的了,记录下来,方便自己回忆,也为刚上手的同学提供一个方便。

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中

seq = ['one', 'two', 'three']
for i, element in enumerate(seq):
    print (i, element)

输出:

完整代码:

def twoSum(nums, target):            
    hashmap={}   #创建一个空的哈希表                     
    for ind,num in enumerate(nums):#将数组的数据和下标存入创建好的哈希表 ind代表下标 num代表数据
        hashmap[num] = ind            
    for i,num in enumerate(nums):  #利用目标值去减其中一个数,查找这个差是否存在于哈希表并存j
        j = hashmap.get(target - num) 
        if j is not None and i!=j:   
            return [i,j]             

 


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值