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...