【Java刷题】之 two sum

import java.util.HashMap;
public class Solution {
    public int[] twoSum(int[] numbers, int target) {
        int[] res = new int[2]; // 创建一个用来保存结果的数组
        HashMap map = new HashMap<>(); // 创建一个用来放数值与对应索引的map
        for(int i = 0; i < numbers.length; i++){
            int num = numbers[i]; //当前数字
            int pairNum = target - num; //与当前数字匹配的数字
            if(map.containsKey(pairNum)){ //查看map中有没有与当前数字匹配的数字
                res[0] = map.get(pairNum);  //获取匹配数字的索引作为第一个返回值
                res[1] = i+1; //将当前索引作为第二个返回值
                return res; //返回结果
            }else{
                map.put(num,i+1); //不匹配就将数字和索引存起来
            }
        }
        return res;
    }
}

你可能感兴趣的:(【Java刷题】之 two sum)