一、解题思路 1、解法一( Java )
解法思路:双层循环
代码如下:
//Answer1 双层循环
class Solution {
public int[] twoSum(int[] nums, int target) {
int[] arr = new int[2];
for(int i = 0; i
2、解法二( Java )
解法思路:使用 HashMap(Key 为数值,Value 为下标)存储遍历过的数字 ,遍历的同时查询 HashMap 是否包含 target-nums[i] ,如果有则寻找到对应下标。
代码如下:
//Answer2 使用 HashMap(Key 为数值,Value 为下标)存储遍历过的数字,遍历的同时查询 HashMap 是否包含 target-nums[i] ,如果有则寻找到对应下标。
class Solution {
public int[] twoSum(int[] nums, int target) {
HashMap hashMap = new HashMap();
for(int i = 0; i < nums.length; i++) {
if(hashMap.containsKey(target - nums[i])) {
return new int[]{ hashMap.get(target - nums[i]), i };
}
hashMap.put(nums[i], i);
}
return new int[0];
}
}
代码如下:
运行结果截图如下:



