题目描述
//二分查找的变形 用头尾两个指针进行 面试考察题
class Solution { public: vector<int> twoSum(vector<int>& numbers, int target) { vector<int> ret; if(numbers.size() == 0) return ret; int i = 0; int j = numbers.size() -1; while(i < j){ if(numbers[i] + numbers[j] == target){ ret.push_back(i+1); ret.push_back(j+1); return ret; } if(numbers[i] + numbers[j] > target){ j--; } if(numbers[i] + numbers[j] < target){ i++; } } return ret; } };