题解 | #两数之和#
两数之和
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
if (numbers == null) return null;
// 用来存放之前扫描过的元素,key-存储的值,value-存储的索引
Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < numbers.length; i++) {
Integer idx = map.get(target - numbers[i]);
if (idx != null) return new int[] {idx+1, i+1};
map.put(numbers[i], i);
}
return null;
}
}
解题思想:哈希存值+结果值判断
#算法##算法笔记#
顺丰集团工作强度 379人发布