Two Sum

给一个数组和一个target, 问数组那两个数能组成这个target. 可以直接找, n^2, 也可以用一个map存targe和当前元素的差.

public class Solution {
    public int[] twoSum(int[] nums, int target) {
        if(nums.length < 2 || nums == null)
            return null;
        HashMap<Integer, Integer> maps = new HashMap<Integer, Integer>();
        for(int i = 0 ; i < nums.length; i++) {
            if(maps.containsKey(target - nums[i]))
                return new int[]{maps.get(target-nums[i])+1, i+1};
            else
                maps.put(nums[i],i);
        }
        return null;
    }
}