class Solution {
public:
vector<int> twoSum(vector<int> &numbers, int target) {
for(int i=0;i<numbers.size();i++){
for(int j=i+1;j<numbers.size();j++){
if(numbers[i]+numbers[j]==target){
vector<int> result;
result.push_back(i);
result.push_back(j);
return result;
}
}
}
}
public:
vector<int> twoSum(vector<int> &numbers, int target) {
for(int i=0;i<numbers.size();i++){
for(int j=i+1;j<numbers.size();j++){
if(numbers[i]+numbers[j]==target){
vector<int> result;
result.push_back(i);
result.push_back(j);
return result;
}
}
}
}
};
超时。使用map做。
class Solution {
public:
vector<int> twoSum(vector<int> &numbers, int target) {
vector<int> result;
map<int,int> numMap;
for(int i=0;i<numbers.size();i++){
if(numMap.count(target-numbers[i])){
int j=numMap[target-numbers[i]];
result.push_back(j+1);
result.push_back(i+1);
return result;
}
numMap.insert(pair<int,int>(numbers[i],i));
}
return result;
}
};