1、思路一:两层循环,先用第一个数与第二个数相加,一直到第一个数与最后一个数相加。如果和不符合条件,那么从第二个数开始,第二个数与第三个数相机,一直到最后一个数相加。依次类推。
2、思路二:哈希函数,把数组中的数依次往数据字典放。不过key值放数组的值,value值放数组的下标。找是否存在目标减去数组差值的key值是否存在。存在那么输出数组的下标和差的key值对应的va造婷用痃lue值。
3、然后我们来回顾一下知识点。数组:数组是一个存储相同类型元素的集合。
4、哈希表:哈希表是一个容器,用来存储键值对。
5、我们在什么情况下使用哈希表呢?我们要符合以下几点要求:某些数据会被高频率的查询、数据量大、查询字段包含字符串类型、数据类型不唯一。
6、哈希表的基本操作有:添加一个键值对:hash.add(key,value)移除一个键值对:hash.Remove(key)清楚所有的元素:hash.C造婷用痃lear();判断时候含特定的key值:hash.contains(key)
7、哈希表和数据字典都可以循环数据,我们来考虑一下他们的效率。我们拿100万条数据来做下实验。我们可以看出,在这种情况下数据字典查询数据比哈希表快多了。