配列内の最初の一意な数値を見つける方法


  1. ハッシュマップを使用する方法:

    • まず、配列内の各数値の出現回数を数えるためのハッシュマップを作成します。
    • 配列を順番に走査し、各数値をハッシュマップに追加します。既に存在する場合は、出現回数をインクリメントします。
    • 配列を再度順番に走査し、最初の出現回数が1の数値を見つけます。
    def find_first_unique_number(array):
       count_map = {}
       for num in array:
           if num in count_map:
               count_map[num] += 1
           else:
               count_map[num] = 1
       for num in array:
           if count_map[num] == 1:
               return num
       return None
  2. 配列とセットを使用する方法:

    • 配列内の各数値を順番に走査し、その数値が配列内で唯一であるかどうかを判定します。
    • 配列内で唯一の数値を見つけた場合、それを返します。
    def find_first_unique_number(array):
       unique_set = set()
       for num in array:
           if num not in unique_set and array.count(num) == 1:
               return num
           unique_set.add(num)
       return None

これらは一部の方法ですが、他にもさまざまなアプローチがあります。選択したアプローチは、入力サイズや制約に応じて変更することができます。また、特定のプログラミング言語に応じて最適な解法が異なる場合もあります。