【競技プログラミング】「Single Number」with Python | LeetCode #136

Python

こちらは「Single Number」のPythonによる解答例となっております。この問題は、整数の配列が与えられたときに、配列内の要素のうち、一つだけ出現回数が1回の要素を返す問題です。

問題

整数の配列 nums が与えられたとき、配列内の要素のうち、一つだけ出現回数が1回の要素を返します。

  • nums には、1つの要素が含まれます。
  • 2 <= nums.length <= 10^4
  • 10^9 <= nums[i] <= 10^9
  • 答えは一意に定まります。

解法

この問題は、ハッシュマップを用いた1つのアプローチがあります。ハッシュマップは、配列内の要素を快速に検索できるため、この問題に適しています。

アルゴリズムの概要を以下に述べます。

  1. ハッシュマップを初期化します。
  2. 配列を1つずつ反復処理します。
  3. 要素をハッシュマップに追加します。
  4. 重複する要素がある場合、ハッシュマップから要素を削除します。
  5. ハッシュマップ内に残った要素を返します。

Pythonコード

以下のコードが、「Single Number」を解くためのPythonプログラムとなります。

### Function ##################################################################

def solve(num=0):
    
    solver  = Solution().singleNumber
    
    if 1 <= num <= Input().input: id_LIST = [num]
    else: id_LIST = [id+1 for id in range(Input().inpu