leetcodeの2数の和II-入力秩序配列c++
1365 ワード
2つの数の和II-入力秩序配列
昇順に配列された秩序配列を指定し、2つの数を見つけて、それらの合計が目標数に等しいようにします.
関数は、index 1とindex 2の2つの下付き値を返す必要があります.index 1はindex 2より小さくなければなりません.
説明:
返される下付きスケール値(index 1およびindex 2)は、ゼロから開始されません.入力ごとに一意の答えしか対応していないと仮定し、同じ要素を繰り返し使用することはできません.例:
解法1:
解法2:ダブルポインタ
昇順に配列された秩序配列を指定し、2つの数を見つけて、それらの合計が目標数に等しいようにします.
関数は、index 1とindex 2の2つの下付き値を返す必要があります.index 1はindex 2より小さくなければなりません.
説明:
返される下付きスケール値(index 1およびindex 2)は、ゼロから開始されません.入力ごとに一意の答えしか対応していないと仮定し、同じ要素を繰り返し使用することはできません.例:
: numbers = [2, 7, 11, 15], target = 9
: [1,2]
: 2 7 9 。 index1 = 1, index2 = 2 。
解法1:
class Solution {
public:
vector twoSum(vector& numbers, int target) {
vector res;//
vector::iterator pos; //
for(int i=0;i
解法2:ダブルポインタ
class Solution {
public:
vector twoSum(vector& numbers, int target) {
int i=0;//
int k=numbers.size()-1;//
vector res;
while(itarget)
k--;
if(numbers[i]+numbers[k]==target && i!=k)
{
res.push_back(i+1);
res.push_back(k+1);
break;
}
}
return res;
}
};