1. 程式人生 > 遊戲 >《英雄聯盟》2021全球總決賽地點與賽制公告 10月5日開幕

《英雄聯盟》2021全球總決賽地點與賽制公告 10月5日開幕

給定一個已按照 非遞減順序排列 的整數陣列 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]