两数之和

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

    //利用map  key存储nums对应下标的值,value存储下标,使用下标保证每次利用的
    //数字不重复。



      Map map = new HashMap<>();
    for (int i = 0; i < nums.length; i++) {
        int complement = target - nums[i];
        if (map.containsKey(complement)) {
            return new int[] { map.get(complement), i };
        }
        map.put(nums[i], i);
    }

      // 当没有结果时,  
        throw new IllegalArgumentException("No two sum solution");  

}

}

你可能感兴趣的:(两数之和)