codeTop100题(10)1. 两数之和

53 阅读1分钟

1. 题目

1. 两数之和

2. 分析

这题很简单,用一个hash表记录一下出现过的数,然后拿target减去当前数,看这个差是否在map中存在就行

3. 代码

class Solution {
    public int[] twoSum(int[] nums, int target) {

        Map<Integer, Integer> map = new HashMap<>();
        for (int i = 0; i < nums.length; i++) {
            int num = nums[i];
            if (null != map.get(target - num)) {
                int[] a = new int[2];
                a[0] = i;
                a[1] = map.get(target - num);
                return a;
            }
            map.put(num, i);
        }
        return null;
    }

}