算法

哈希表两数之和

2024-03-13  本文已影响0人  宗驴

需求:

给出一个数组,和一个值target。找出数组中是否有两个元素相加等于target。

示例一:

输入:int[] vals =new int[]{2, 3,1,4}; int target =7;

输出:{1,3};

思路:

题的重点是求和等于rarget,那么我们利用这一点,循环每个元素找到这个元素与target差值gap。以gap为键去map中查找,如果返回结果说明对应求和的值已遍历过,将map返回值的value与循环元素的下边返回即可,否则以此值为key以数组中的下边为value存入map。

这里为什么会选择map,因为在计算过程中我们需要存储值以及值的下标,所有使用map是符合这个场景的。

传参 源码实现 计算结果
上一篇 下一篇

猜你喜欢

热点阅读