PROBLEM 03
2つの配列に共通する値
2つの配列に現れる値を、重複なしで返します。
2つの参加者リストを数値IDで受け取ります。 両方のリストに登場するIDだけを、重複を取り除いて返してください。 返す順番は問いません。
例
入力: left = [2, 2, 4, 8], right = [1, 2, 2, 8]
出力: [2, 8]
入力: left = [1, 3, 5], right = [2, 4, 6]
出力: []
制約
- 各配列の長さは
0以上50,000以下 - 要素は安全な整数
- 出力に同じ値を2回含めない
STEPWISE HINTS
ヒント
01考え方の方向
片方の配列に値が含まれるかを、もう片方から何度も調べる処理を高速化します。
02使うデータ構造
Set を使うと、値の存在確認と重複の除去を同時に扱えます。
03擬似コード
right を Set にする。left の各値を調べ、right に存在する値を結果用 Set に追加して、最後に配列へ変換する。
AFTER ACCEPTED
解説
AC 後に解説が開きます
まずは自分の言葉で方針を説明し、コードに落としてみましょう。