每日演算法 兩數之和 II 輸入有序陣列

2021-10-21 00:23:43 字數 1022 閱讀 2496

給定乙個已按照 公升序排列 的整數陣列 numbers ,請你從陣列中找出兩個數滿足相加之和等於目標數 target 。

函式應該以長度為 2 的整數陣列的形式返回這兩個數的下標值。numbers 的下標 從 1 開始計數 ,所以答案陣列應當滿足1 <= answer[0] < answer[1] <= numbers.length

你可以假設每個輸入只對應唯一的答案,而且你不可以重複使用相同的元素。

示例 1:

輸入:numbers = [2,7,11,15], target = 9

輸出:[1,2]

解釋:2 與 7 之和等於目標數 9 。因此 index1 = 1, index2 = 2 。

示例 2:

輸入:numbers = [2,3,4], target = 6

輸出:[1,3]

示例 3:

輸入:numbers = [-1,0], target = -1

輸出:[1,2]

思路一:雙重迴圈遍曆法。

class

solution;}

for(

int i =

0; i < numbers.length -

1; i++);

}}}return

newint

;}}

思路二:雙指標法。

class

solution;}

int left =0;

int right = numbers.length -1;

while

(left < right);}

else

if(sum > target)

else

}return

newint

;}}

兩數之和 II 輸入有序陣列

給定乙個已按照公升序排列 的有序陣列,找到兩個數使得它們相加之和等於目標數。函式應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。說明 返回的下標值 index1 和 index2 不是從零開始的。你可以假設每個輸入只對應唯一的答案,而且你不可以重複使...

兩數之和 II 輸入有序陣列

給定乙個已按照公升序排列的有序陣列,找到兩個數使得它們相加之和等於目標數。函式應該返回這兩個下標值index1 和 index2,其中 index1 必須小於 index2。說明 示例 輸入 numbers 2,7,11,15 target 9 輸出 1,2 解釋 2 與 7 之和等於目標數 9 因...

兩數之和 II 輸入有序陣列

給定乙個已按照公升序排列 的有序陣列,找到兩個數使得它們相加之和等於目標數。函式應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。說明 返回的下標值 index1 和 index2 不是從零開始的。你可以假設每個輸入只對應唯一的答案,而且你不可以重複使...