哈希表
class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int, int> m; int n = nums.size(); for (int i = 0; i < n; ++i) { auto it = m.find(target - nums[i]); if (it != m.end()) return {it->second, i}; m[nums[i]] = i; } return {}; } };
时间复杂度:O(n)
空间复杂度:O(n)
拓展:三数之和,四数之和