1 暴力— O ( n 2 ) O(n^2) O(n2)
2 哈希表— O ( n ) O(n) O(n)
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
int size = nums.size();
unordered_map<int, int> val2idx;
for (int i = 0; i < size; i++) {
int diff = target - nums[i];
// 如果a = target - b不在哈希表中,则在哈希表中添加当前<整数, 索引>,否则视为找到解
if (!val2idx.count(diff))
val2idx[nums[i]] = i;
else return {val2idx[diff], i};
}
return {0, 0};
}
};