有人相爱,有人看海,什么!还有人力扣第一题写不出来?
注意两个点:
map到底存放什么?-----存放的是已经遍历过的元素,已经遍历过。
对于c++来说,返回是多个值,可以用{}来返回,就可以不用再开一个vector了
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
unordered_map<int,int> map;
vector<int> ret;
for(int i=0;i<nums.size();++i){
auto p = map.find(target-nums[i]);
if(p!=map.end()){
ret.push_back(i);
ret.push_back(p->second);
return ret;
}
map[nums[i]] = i;
}
return ret;
}
};