/*题目描述
给出一个整数数组,请在数组中找出两个加起来等于目标值的数,
你给出的函数twoSum 需要返回这两个数字的下标(index1,index2),需要满足 index1 小于index2.。注意:下标是从1开始的
假设给出的数组中只存在唯一解
例如:
给出的数组为{ 20, 70, 110, 150 }, 目标值为90
输出 index1 = 1, index2 = 2
示例1
输入
[3, 2, 4], 6
[2, 3]
*/
class Solution {
public:
vector<int> twoSum(vector<int>& numbers, int target) {
vector<int> output;
set<int> mySet;
if(numbers.empty()){
return output;
}
for(int i = 0; i < numbers.size(); i++){
for(int j = 1; j < numbers.size(); j++){
if(numbers[i] + numbers[j] == target){
int num = i + 1;
mySet.insert(num);
num = j + 1;
mySet.insert(num);
}
}
if(mySet.size() == 2){
break;
}
}
for(set<int>::iterator it = mySet.begin(); it != mySet.end(); it++){
output.push_back(*it);
}
return output;
}
};