题目:
题解:
方法一:暴力法
遍历每个元素,查找该元素后面有没有加起来等于目标整数的元素。
方法二:一遍哈希表
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
public class Solution4 {
public int[] twoSum(int[] nums, int target) {
Map<Integer, Integer> map = new HashMap<>();
for (int i=0; i<=nums.length-1;i++){
int complement = target - nums[i];
if (map.containsKey(complement)){
return new int[] {map.get(complement), i};
}
map.put(nums[i], i);
}
throw new IllegalArgumentException("No two sum solution");
}
public static void main(String[] args){
int[] test_array = {2,7,11,15};
Solution4 s = new Solution4();
int[] single_num = s.twoSum(test_array, 9);
System.out.println(Arrays.toString(single_num));
}
}