import java.util.HashMap;
public class Solution {
public int[] twoSum(int[] numbers, int target) {
int[] res = new int[2]; // 创建一个用来保存结果的数组
HashMap<Integer,Integer> map = new HashMap<>(); // 创建一个用来放数值与对应索引的map
for(int i = 0; i < numbers.length; i++){
int num = numbers[i]; //当前数字
int pairNum = target - num; //与当前数字匹配的数字
if(map.containsKey(pairNum)){ //查看map中有没有与当前数字匹配的数字
res[0] = map.get(pairNum); //获取匹配数字的索引作为第一个返回值
res[1] = i+1; //将当前索引作为第二个返回值
return res; //返回结果
}else{
map.put(num,i+1); //不匹配就将数字和索引存起来
}
}
return res;
}
}
【Java刷题】之 two sum
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 167. Two Sum II - Input array is sorted 这是leetCode第167题 题...
- Problem Given a Binary Search Tree and a target number, r...