- Notifications
You must be signed in to change notification settings - Fork 135
/
Copy pathSolution.java
32 lines (30 loc) · 1010 Bytes
/
Solution.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
importjava.util.*;
classSolution {
publicint[] twoSum(int[] nums, inttarget) {
HashMap<Integer, Integer> dict = newHashMap<Integer, Integer>(); /* HashMap只能装integer,不能装int */
int[] result = newint[2];
for (inti = 0; i < nums.length; i++)
{
dict.put(nums[i], i); // 顺序的map映射: value->index
}
for (inti = 0; i < nums.length; i++)
{
intquery = target - nums[i];
if (dict.containsKey(query) && dict.get(query) > i) // dict[query] > i是为了防止重复计算
{
result[0] = i;
result[1] = dict.get(query);
break;
}
}
returnresult;
}
// Test
publicstaticvoidmain(String[] args) {
Solutionsol = newSolution();
int[] nums = {2,7,11,15};
inttarget = 9;
int[] res = sol.twoSum(nums, target);
System.out.println(Arrays.toString(res));
}
}