[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