力扣题目第167题:题目链接
题目描述:
一个有序数组,给了一个目标数,要求从中找到两个数相加等于目标数,然后返回数组下标,数组从1开始。
class solution{
public:
vector<int>twoSum(vector<int>&num,int t){
int i=0,j=num.size()-1;
while(i<j){
if(num[i]+num[j]>t)
j--;
else if(num[i]+num[j]<t)
i++;
else return {i+1,j+1};
}
return {i,j};
}
};
一个指针指向初始值,一个指针指向末尾,如果数比较大,就j–;如果数小了就i++;