《英雄聯盟》2021全球總決賽地點與賽制公告 10月5日開幕
阿新 • • 發佈:2021-09-10
給定一個已按照 非遞減順序排列 的整數陣列 numbers ,請你從陣列中找出兩個數滿足相加之和等於目標數 target 。函式應該以長度為 2 的整數陣列的形式返回這兩個數的下標值。numbers 的下標 從 1 開始計數 ,所以答案陣列應當滿足 1 <= answer[0] < answer[1] <= numbers.length 。你可以假設每個輸入 只對應唯一的答案 ,而且你 不可以 重複使用相同的元素。
給定一個已按照 非遞減順序排列 的整數陣列 numbers ,請你從陣列中找出兩個數滿足相加之和等於目標數 target 。函式應該以長度為 2 的整數陣列的形式返回這兩個數的下標值。numbers 的下標 從 1 開始計數 ,所以答案陣列應當滿足 1 <= answer[0] < answer[1] <= numbers.length 。你可以假設每個輸入 只對應唯一的答案 ,而且你 不可以 重複使用相同的元素。
def twoSum(numbers, target): """ 方向相反的雙指標 """ i = 0 j = len(numbers) - 1 s = numbers[i] + numbers[j] while s != target: if s > target: j -= 1 else: i += 1 s = numbers[i] + numbers[j] return [i+1, j+1]