ゼロから始めるLeetCode Day97 「349. Intersection of Two Arrays」
概要 海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。 どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。 早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。 と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。 ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。 Leetcode Python3で解いています。 ゼロから始めるLeetCode 目次 前回 ゼロから始めるLeetCode Day96 「78. Subsets」 次回 ゼロから始めるLeetCode Day98「39. Combination Sum」 Twitter やってます。 問題 349. Intersection of Two Arrays 難易度はEasy。 コーディング面接対策のために解きたいLeetCode 60問 からの抜粋です。 問題としては、2つの配列が与えられたとき,その交点を計算する関数を書いてくださいというものです。 Example 1: Input: nums1 = [1,2,2,1], nums2 = [2,2] Output: [2] Example 2: Input: nums1 = [4,9,5], nums2 = [9,4,9,8,4] Output: [9,4] 解法 class Solution : def intersection ( self , nums1 : List [ int ] , nums2 : List [ int ] ) - > List [ int ] : set1 , set2 = set ( nums1 ) , set ( nums2 ) return list ( set1 &a