本文共 913 字,大约阅读时间需要 3 分钟。
哈希表
给出一个整数数组,请在数组中找出两个加起来等于目标值的数,
你给出的函数 twoSum 需要返回这两个数字的下标(index1,index2),需要满足 index1 小于 index2.。
注意:下标是从 1 开始的。
假设给出的数组中只存在唯一解
例如:
给出的数组为 {20, 70, 110, 150},目标值为90输出 index1=1, index2=2
import java.util.*;public class Solution { /** * * @param numbers int整型一维数组 * @param target int整型 * @return int整型一维数组 */ public int[] twoSum (int[] numbers, int target) { HashMapmap = new HashMap<>(); int[] result = new int[2]; for(int i = 0; i < numbers.length; i++) { if (map.containsKey(target - numbers[i])) { result[0] = map.get(target - numbers[i]); result[1] = i+1; return result; } else { map.put(numbers[i], i+1); } } return result; }}
转载地址:http://kcjvb.baihongyu.com/