给定一个已经 按升序排列 的数组,找到两个数使他们加起来的和等于特定数。
函数应该返回这两个数的下标,index1必须小于index2。注意返回的值不是 0-based。
样例
例1:
输入: nums = [2, 7, 11, 15], target = 9
输出: [1, 2]
例2:
输入: nums = [2,3], target = 5
输出: [1, 2]
注意事项
你可以假设每个输入刚好只有一个答案
class Solution {
public:
/**
* @param nums: an array of Integer
* @param target: target = nums[index1] + nums[index2]
* @return: [index1 + 1, index2 + 1] (index1 < index2)
*/
vector<int> twoSum(vector<int> &nums, int target) {
// write your code here
vector<int> ret;
for(int i = 0; i < nums.size(); i++)
{
int chazhi = target-nums[i];
for(int j = i + 1; j < nums.size(); j++)
{
if(nums[j] == chazhi)
{
ret.push_back(i+1);
ret.push_back(j+1);
return ret;
}
}
}
return ret;
}
};