题解 | #两数之和#
两数之和
https://www.nowcoder.com/practice/20ef0972485e41019e39543e8e895b7f
import java.util.*; public class Solution { /** * * @param numbers int整型一维数组 * @param target int整型 * @return int整型一维数组 */ public int[] twoSum (int[] numbers, int target) { // write code here int res[]=new int[0]; //保存已找到两数之和之一的值和坐标 HashMap<Integer,Integer> map=new HashMap<>(); //循环遍历 for(int i=0;i<numbers.length;i++){ //两数和的一半先存入,然后后续如果找到另一半就可以返回坐标了 int tmp=target-numbers[i]; //没有找到就存入hash if(!map.containsKey(tmp)){ map.put(numbers[i],i); }else{ //找到了就返回tmp的坐标和另一半坐标i return new int[]{map.get(tmp)+1,i+1}; } } return res; } }