题目描述:
-
给出一个整数数组,请在数组中找出两个加起来等于目标值的数,你给出的函数twoSum 需要返回这两个数字的下标(index1,index2),需要满足 index1 小于index2.。注意:下标是从1开始的
假设给出的数组中只存在唯一解
例如:
给出的数组为 {20, 70, 110, 150},目标值为90
输出 index1=1, index2=2 -
输入:
- [3,2,4],6
-
输出:
- [2,3]
思路:
- 暴破:就直接判断数组中有没有元素等于target - numbers[i]
代码:
public:
vector<int> twoSum(vector<int>& numbers, int target) {
// write code here
vector<int> reselt;
for(int i = 0; i < numbers.size(); i++){
int rel = target - numbers[i];
for(int j = 0; j < numbers.size(); j++){
if(rel == numbers[j] && j != i){
if(i > j){
reselt.push_back(j +1);
reselt.push_back(i + 1);
}else{
reselt.push_back(i + 1);
reselt.push_back(j +1);
}
return reselt;
}
}
}
}