LeetCode(No.167) - 二つの数字II - 入力規則的な配列

所与の順序付けられた配列は、それらの合計が目標数の和に等しくなるように2つの数値を見つけるために応じて昇順にソートされています。

関数は、インデックス1のINDEX2未満でなければならない2つのインデックス値からindex1のINDEX2を返す必要があります。

説明:

  • インデックス(index1と、INDEX2と)の戻り値はゼロではありません。
  • あなたは、各入力のみ唯一の答えに対応すると仮定することができますが、同じ要素を再利用することはできません。

例:
入力:番号= 2、7、 11、15]、目標= 9
出力:[1,2]
説明:2および7は、ターゲット番号9の和に等しいです。したがってインデックス1 = 1、INDEX2 = 2。

アイデア:辞書の使用は、辞書内の2つの数値の差が、キー値は、添字の値に対応するか否かを判断します

class Solution:
    def twoSum(self, numbers, target):
        """
        :type numbers: List[int]
        :type target: int
        :rtype: List[int]
        """
        hashed = {}
        for i in range(len(numbers)):
            if target-numbers[i] in hashed: 
                return [hashed[target-numbers[i]], i+1]
            hashed[numbers[i]] = i+1
公開された114元の記事 ウォン称賛55 ビュー80000 +

おすすめ

転載: blog.csdn.net/zuolixiangfisher/article/details/87517428