leetcode 167. 兩數之和 II - 輸入有序數組(Two Sum II - Input array is sorted)
阿新 • • 發佈:2019-03-20
else get () 返回 div 目標 href 有序數組 twosum
目錄
- 題目描述:
- 示例:
- 解法:
題目描述:
給定一個已按照 升序排列 的有序數組,找到兩個數使得它們相加之和等於目標數。
函數應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。
說明:
- 返回的下標值(index1 和 index2)不是從零開始的。
- 你可以假設每個輸入只對應唯一的答案,而且你不可以重復使用相同的元素。
示例:
輸入: numbers = [2, 7, 11, 15], target = 9 輸出: [1,2] 解釋: 2 與 7 之和等於目標數 9 。因此 index1 = 1, index2 = 2 。
解法:
class Solution { public: vector<int> twoSum(vector<int>& numbers, int target) { int l = 0; int r = numbers.size() - 1; int val = 0; while(l < r){ val = numbers[l] + numbers[r]; if(val < target){ l++; }else if(val == target){ return {l+1, r+1}; }else{ r--; } } return {-1, -1}; } };
leetcode 167. 兩數之和 II - 輸入有序數組(Two Sum II - Input array is sorted)