补发两数之和

我记得我之前心血来潮的时候做过一遍,那时候用的是双层for,然后这次按照随想录又到了这道题,他是在hash分组里的,所以肯定是要用hash来做一遍。那到底要选hash中的哪种结构呢?因为这道题是要找和为target的两个目标值,并返回他们的下标,这个很关键,这个既要值,又要下标,所以想到用map。我们首先定义一个长度为2的整形数组ans来存放答案,接下来要创建一个HashMap来存储nums中的值和下标,我们需要用一个for循环来遍历数组nums,因为我们要的值temp是target-numsi。我们要判断temp是否存在于map中,如果找到了,就把i的值和key为temp的值存到ans中,跳出循环即可,若本次循环没找到,就把numsi的值和i存到map中,i++即可。最后返回ansb0bbe8314d034947b7f207eb4ef782ce.png

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值