1.19 TwoSum

Description

Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution.

Example: Given nums = [2, 7, 11, 15], target = 9,

Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1].

Method

hashmap to forloop the elements in the array, if there no such element in map, we store it is difference with the target in the map then when we meet difference we will find it in the map.

Time and Space Complexity

o(n) o(n)

Code

public class Solution {

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

}

results matching ""

    No results matching ""