题目链接
思路分析
可以暴力枚举时间复杂度为 O ( n 2 ) O(n^2) O(n2),也可以用哈希表把时间复杂度控制在 O ( n ) O(n) O(n)
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
unordered_map<int, int> hash; //建立一个无序的哈希表
for(int i = 0; i < nums.size(); i++){
int div = target - nums[i];
if(hash.count(div)) return {hash[div], i}; //判断差值是否是否存在
hash[nums[i]] = i;
}
return {};
}
};