题意以及限制条件
-
题目:
-
限制条件:
想到的所有可能解法
-
Ways_1——HashMap
- 时间复杂度——O( n n n);空间复杂度——O(n)
-
Ways_2——HashMap
- 时间复杂度——O( n 2 n^2 n2);空间复杂度——O(1)
对应的代码
- Ways_1
class Solution {
public int[] twoSum(int[] nums, int target) {
HashMap<Integer, Integer> hashmap = new HashMap<Integer, Integer>();
int len = nums.length;
for (int i = 0; i < len; ++i) {
if (hashmap.containsKey(target - nums[i]))
return new int[] {hashmap.get(target - nums[i]), i};
hashmap.put(nums[i], i);
}
return new int[2];
}
}
- Ways_2
class Solution {
public int[] twoSum(int[] nums, int target) {
int len = nums.length;
for (int i = 0; i < len; ++i) {
for (int j = i + 1; j < len; ++j) {
if (nums[i] + nums[j] == target)
return new int[] {i, j};
}
}
return new int[2];
}
}