两数之和
- 原题链接
- 思路
- 代码
原题链接
leet hot 100-1
1. 两数之和
思路
可以把当前数字放到容器里面去 当我们遍历一个新的数字的时候 减一下与目标值的差 然后得到的结果在容器里面查看是否存在时间复杂度O(n) 空间复杂度(n)
代码
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
unordered_map<int, int> heap;
for (int i = 0; i < nums.size(); i ++ ) {
int r = target - nums[i];
if (heap.count(r)) return {heap[r], i};
heap[nums[i]] = i;
}
return {};
}
};