题解 | #两数之和#TOP50
思路:
1.两数之和,hashmap存取,看代码
import java.util.*;
public class Solution {
/**
*
* @param numbers int整型一维数组
* @param target int整型
* @return int整型一维数组
*/
public int[] twoSum (int[] numbers, int target) {
// write code here
if(numbers == null || numbers.length < 2){
return new int[]{-1,-1};
}
//数组值 数组下标
HashMap<Integer,Integer> map = new HashMap<>();
for(int i = 0; i< numbers.length; i++){
if(map.containsKey(target - numbers[i])){
return new int[]{map.get(target- numbers[i]) + 1, i + 1};
}
map.put(numbers[i], i);
}
return new int[]{-1,-1};
}
}