[Leetcode] Two sum

Descroption:
給定一個 nums 的 integer array ,與一個 target k
請在 nums 裡找到兩數相加之合為 k

PS:
請嘗試在時間複雜度小於 O(n^2) 完成

Solutions:

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

    }
}

Tips:
主要就是使用了一個 map