题解 | #两数之和#
两数之和
http://www.nowcoder.com/practice/20ef0972485e41019e39543e8e895b7f
public int[] twoSum (int[] numbers, int target) { // write code here //target=a+b //a=target-b //从数组中找到a就行了 int[] res=new int[2]; //保存结果的下标 HashMap<Integer,Integer> map=new HashMap(); for(int i=0;i<numbers.length;i++){ int a=target-numbers[i]; //2.从map中找a这个数 if(map.containsKey(a)){ res[0]=map.get(a)+1; //3.a的下标,value中保存 res[1]=i+1; //4.b的下标 return res; } map.put(numbers[i],i); //1.把数组放到map中,map中的value存的是数组下标 } return res; }