LeetCode 167. 2つの数値の和II入力順序配列(ダブルポインター)

1.タイトル

昇順で並べ替えられた順序付けられた配列が与えられた場合、それらの合計がターゲット数と等しくなるように2つの数を見つけます。

関数は、これら2つのインデックス値index1とindex2を返す必要があります。index1はindex2より小さい必要があります。

説明:

  • 返されるインデックス値(index1およびindex2)はゼロベースではありません。
  • 各入力は一意の回答にのみ対応していると想定でき、同じ要素を再利用することはできません。
示例:
输入: numbers = [2, 7, 11, 15], target = 9
输出: [1,2]
解释: 27 之和等于目标数 9 。因此 index1 = 1, index2 = 2

ソース:LeetCode
リンク:https ://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted
著作権は控除ネットワークに属しています。商用転載の正式な許可書に連絡し、非商用転載の出典を明記してください。

2.問題解決

class Solution {
public:
    vector<int> twoSum(vector<int>& numbers, int target) {
        int i = 0, j = numbers.size()-1, sum;
        sum = numbers[i]+numbers[j];
        while(i < j)
        {
            sum = numbers[i]+numbers[j];
            if(sum == target)
                return {i+1,j+1};
            else if(sum < target)
                i++;
            else
                j--;
        }
        return {};
    }
};

4 ms 9.4 MB

公開された872件の元の記事 いいね2479 訪問450,000+

おすすめ

転載: blog.csdn.net/qq_21201267/article/details/105596937
おすすめ