Python练习之两数之和

文章介绍了如何使用Python编程语言中的哈希表数据结构解决给定整数数组中找到和为目标值的两个数及其下标的问题,通过遍历数组并在哈希表中查找或添加元素来实现高效查找。
摘要由CSDN通过智能技术生成

题目描述:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target 的那两个整数,并返回它们的数组下标。

算法详解:

     利用哈希表,遍历数组中每一个数,键存储目标数和数组中数字的差值,值存储对应数组中数字的下标,这样就可以存储数组中每个值想要对应的另外一个数.(对于每一个 x,我们首先查询哈希表中是否存在 target - x,然后将 x 插入到哈希表中,即可保证不会让 x 和自己匹配。)

from typing import List
class Solution:
   def twoSum(self,nums:List[int],target:int)->List[int]:
      hashtable = dict()
      for index,num in enumerate(nums):
          if target-num in hashtable:
             return[hashtable[target-num],index]
          hashtable[nums[index]] = index
      return[]


test = Solution()
print(test.twoSum([2,4,1,7,6],5))

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值