两数之和解题思路

一个存放int类型的不重复数组,已知和,求的两个数在数组的位号

1.暴力法

通过两个for循环,第一个for循环拿到数组的第一个数,记录位号i,接下来第二个for循环拿到数组中剩余的数,记录位号j,通过比较加法相等则返回这两个数的位号i,j。

2.两遍哈希表

新建一个哈希表map,将数组中所有数,以具体数值为键,以位号为值,制作一个map,接下来一个新的for循环,判断数组中的一个值,能否在map中找到,和之减的值。如果存在并且不能是本身,则返回当前数组的位号与map中找到的值所对应的位号。

3.单次哈希表

新建一个map,for循环每次在map中查找是否有索引为具体数值,值为位号的值,如果没有就把当前的值与位号存入到map中,接下来的循环当找到map中存在所需的键值对,即可返回。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值