class Solution
{
public:
/**
* @param nums: an array of Integer
* @param target: target = nums[index1] + nums[index2]
* @return: [index1, index2] (index1 < index2)
*/
vector<int> twoSum(vector<int> &nums, int target)
{
vector<int> result(2, -1);
if (nums.size() < 2)
{
return result;
}
int left = 0;
int right = nums.size() - 1;
while (left < right)
{
if (nums[left] + nums[right] < target)
{
left++;
}
else if (nums[left] + nums[right] > target)
{
right--;
}
else
{
result[0] = left;
result[1] = right;
break;
}
}
return result;
}
};
排序数组的两数之和
猜你喜欢
转载自blog.csdn.net/yuanshine/article/details/81837016
今日推荐
周排行