使用
map
减小时间复杂度
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
unordered_map<int,int> record;
for(int i=0;i<nums.size();i++){
int complment = target - nums[i];
if(record.find(complment) != record.end()){
int tmp[] = {i,record[complment]};
return vector<int>(tmp,tmp+2);
}
record[nums[i]] = i;
}
return vector<int>();
}
};