一、题目内容

image.png

二、题解

解法1:

思路

代码

  1. public class Solution {
  2. public int[] twoSum(int[] numbers, int target) {
  3. Map<Integer, Integer> targetMap = new HashMap<Integer, Integer>();
  4. for (int i = 1; i <= numbers.length; i++) {
  5. int targetLeft = target - numbers[i - 1];
  6. if (targetMap.containsKey(targetLeft)) {
  7. int targetLeftIndex = targetMap.get(targetLeft);
  8. return targetLeftIndex > i ? new int[]{i, targetLeftIndex} : new int[]{targetLeftIndex, i};
  9. } else {
  10. targetMap.put(numbers[i - 1], i);
  11. }
  12. }
  13. return new int[0];
  14. }
  15. }