日常練習:lintcode 56.両数の和


タイトル:
整数配列を与えて、2つの数を見つけて、彼らの和が与えられた数targetに等しいようにします.実現する必要がある関数twoSumは、この2つの数の下付き文字を返し、最初の下付き文字が2番目の下付き文字より小さい必要があります.ここで下付きの範囲は0からn-1であることに注意してください.
注意事項
答えは1組しかないと仮定することができます.
サンプル:
numbers=[2,7,11,15]、target=9を与え、[0,1]を返す.
上のコード:
class Solution:
    """
    @param: numbers: An array of Integer
    @param: target: target = numbers[index1] + numbers[index2]
    @return: [index1 + 1, index2 + 1] (index1 < index2)
    """
    def twoSum(self, numbers, target):
        # write your code here
        for i in range(len(numbers)):
            if(target-numbers[i] in numbers):
                a = numbers.index(target-numbers[i])
                if(ireturn [i,a]
elif(i>a):
return [a,i]

この問題は、私が最初に見たときは特に複雑ではないような気がして、大まかな考えがあって、直接電話をかけてきました.結局、もう少しで一度やりすぎて、一つの状況を無視して、貼り付けました.入力:[0,4,1,0]0理想出力:[0,3]しかし、私の出力:[0,0]ここでは、戻ってきた2つの値が等しくないことを無視しました.そこでコードを改善し、通過しました.
全体的には難しくないので、喜ぶことはありません.今日はそうしましょう.おやすみなさい.