与えられた整数配列NUMSとターゲットtagetのタイトルを磨き、そしてあなたは、アレイ内の2つの整数の目標値を見つけます

 この日の午後、モーメントgithubのは、それが問題を磨くしたいと思い、それはブラシはインタビューの過程で現実的な問題を解決する能力を向上させるために耳を回し、我々は実際には、多くの場合、インタビュアーは私たちを与えることが判明判明しました質問は、ランダムある程度のもありますので、我々はより多くの質問を磨く必要があります。問題を見つけるために。

   

  トピック:  

    整数の配列と対象NUMSのtagetを考えると、あなたは、アレイ内の二つの整数の目標値を見つけ、
そしてその配列の添字に戻ります。

あなたは、各入力が一つだけ答えに対応することを想定することができます。ただし、同じ配列要素を再使用することはできません。

 

解像度:

    ここで、実際のあなたが戻るまで放置、あなたにあなたの期待を与えるために番号のリストを与えることです

このリストにその添字の予想数に等しい二つの数字。

 

コードのアイデア:

    リストをトラバースするループ1.直接使用する2、

    最初の要素からループの2 Aは、ループの内部リストをトラバースするために、この要素から減算され

    3.次に、標準の要素に等しい場合、ダイレクトリターンを期待tagetの和に等しい二つの要素を判断しています。

4.私たちは、最初のデフォルトの選択を設定するよりも多くが返されることがあります。

 

実装コード:

 

クラスのソリューション():
twoSun(自己、NUMS、ターゲット)DEF:
範囲内のiについて(LEN(NUMS))
の範囲内のjについて(LEN(NUMS)):
もしNUMS [i]は+ NUMS [J] ==ターゲット!そしてI = J:
戻る[I、J]

 

それでは、テストに簡単なテストを見てみましょう:

もし__name __ == "__ MAIN__":
ソリューション=ソリューション()
プリント(solution.twoSun([1,2,3,4,5,6]、5))

結果を印刷実行します。

 

 

 

だから私は右であるかどうかを指定されたリストを見てください。

私たちは、Pythonのリストは、0からカウントしていることを知って、次のターゲットは、一度に0の最初の要素内の要素のリストである、と。

我々は、インデックス0で、その配列要素を参照することができ、1は、それぞれ3,4、+ 5 4 =

期待に沿って、コードを考えます。

 

のは、次のユニットテストをやってみましょう:

クラステストケース(たunittest.TestCase):
セットアップDEF(自己):
渡す
デフティアダウン(自己) - >なし:
合格
DEF testcaseoneを(自己):
self.solution =ソリューション()
結果= self.solution.twoSun([1、2 、3、4、5、6]、5)
self.assertEqual(その結果、[0,3])
DEF testcasetow(自己):
self.solution =ソリューション()
結果= self.solution.twoSun([ "1"、 2、3、4、 "5"、6]、 "5")
self.assertEqual(その結果、[0,3])
DEF testcasethree(自己):
self.solution =ソリューション()
結果= self.solution.twoSun( [ "A"、2、3、4、 "B"、6]、 "AB")
self.assertEqual(結果)偽
__name __ == "__ MAIN__"の場合:

unittest.main()

 

 

 

テストコードを実行した後、私たちは間違いを発見しました。実際には、我々はパラメータの制御を持っていない、我々は、コードをアップグレードする必要があり、

クラスのソリューション():
twoSun(:リスト、ターゲット:int型自己、NUMS):defは
私のための範囲(LEN(NUMS))内:
範囲内のjについて(LEN(NUMS)-i):
試してみてください。
NUMS場合は[I] + NUMS [J] ==ターゲットとI = J:!
リターン[I、J]
を除く:
Falseを返します

業績

 

 

 

そのため、テストプロセスでは、我々は我々のユニットテストコードの特定でなければなりません。行わ早くユニットテストは、早く我々は問題を発見しました。独自のコードをテストする必要があります書きます。

 

おすすめ

転載: www.cnblogs.com/leiziv5/p/11750540.html