一:暴力法
给定数组中必定存在俩个不同下标使得其值相加为target,只需利用循环找出满足条件的下标
对于给定数组,循环遍历
利用俩层循环->外层i从0遍历到尾
内层j可从i+1进行遍历
在内层中如若遇到满足nums[i]+nums[j]==target即可返回值
代码:
二:哈希映射
利用哈希表可直接访问目标值对应的key,我们可以直接用变量i对nums进行循环遍历,并在遍历中进行判断(如果表中存在值(value)与当前下标i所对应的数组值相加为target,则直接返回,如果不存在,则将当前下标及其数组值放入表中)
关于哈希表的相关知识:
1.创建哈希表:
Map<Integer,Integer> map=new HashMap<>();
2.检查 hashMap 中是否存在指定的 key 对应的映射关系:
map.containsKey(Object key),存在则返回true,否则返回false
3.返回指定key所映射的值(value):
map.get( object key)
4.将指定的键/值对插入到 HashMap 中:
map.put(K key,V value)[如果插入的key值已存在,则用新的value值更改原本key对应的value值]
代码: