算法:找数组中两个数之和为目标数的数组的下标

2025-10-28 00:31:14

1、思路一:两层循环,先用第一个数与第二个数相加,一直到第一个数与最后一个数相加。如果和不符合条件,那么从第二个数开始,第二个数与第三个数相机,一直到最后一个数相加。依次类推。

算法:找数组中两个数之和为目标数的数组的下标

2、思路二:哈希函数,把数组中的数依次往数据字典放。不过key值放数组的值,value值放数组的下标。找是否存在目标减去数组差值的key值是否存在。存在那么输出数组的下标和差的key值对应的value值。

算法:找数组中两个数之和为目标数的数组的下标

3、然后我们来回顾一下知识点。数组:数组是一个存储相同类型元素的集合。

算法:找数组中两个数之和为目标数的数组的下标

4、哈希表:哈希表是一个容器,用来存储键值对。

算法:找数组中两个数之和为目标数的数组的下标

5、我们在什么情况下使用哈希表呢?我们要符合以下几点要求:某些数据会被高频率的查询、数据量大、查询字段包含字符串类型、数据类型不唯一。

算法:找数组中两个数之和为目标数的数组的下标

6、哈希表的基本操作有:

添加一个键值对:hash.add(key,value)

移除一个键值对:hash.Remove(key)

清楚所有的元素:hash.Clear();

判断时候含特定的key值:hash.contains(key)

7、哈希表和数据字典都可以循环数据,我们来考虑一下他们的效率。我们拿100万条数据来做下实验。我们可以看出,在这种情况下数据字典查询数据比哈希表快多了。

算法:找数组中两个数之和为目标数的数组的下标

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢