Menu
CoddyTech

Two Sum

やさしいハッシュpython iconjava iconcpp iconc iconjs icon+10

整数の配列 nums と整数 target が与えられます。nums のちょうど2つの要素が異なる位置にあり、その合計は target になります。その2つの要素のインデックスを、小さい方を先にして返してください。

関数

twoSum(nums: integer-array, target: integer) → integer-array
numsinteger-array
検索する整数の配列
targetinteger
2つの項目の合計が達しなければならない値
戻り値integer-array
2つのインデックス。小さい方が先

制約

  • 2 ≤ nums.length ≤ 104
  • -109 ≤ nums[i] ≤ 109
  • -109 ≤ target ≤ 109
  • 異なる位置のペアで、合計がtargetになるものはちょうど1組です。

例

入力
nums = [3, 8, 12, 5]target = 17
出力
[2, 3]
説明
12 はインデックス 2 にあり、5 はインデックス 3 にあります。また、12 + 5 = 17 です。ほかに 17 になるペアはありません。
challenge icon

発展問題

numsがすでにソートされていたら、追加メモリをO(1)だけ使って、O(n)時間でペアを見つけられますか?

コードをリセット
def twoSum(nums, target):
    # ここにコードを書いてください

テスト #1

テスト #2

テスト #3

引数

nums = [3, 8, 12, 5]
target = 17

期待される出力

[2, 3]