Menu
CoddyTech

Majority Element

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

長さが n の整数配列 nums が与えられます。その中の1つの値は n / 2 回より多く出現し、その値を多数要素と呼びます。それを返してください。配列の半分を超える要素を占める値は必ず一意なので、答えはちょうど1つです。

関数

majorityElement(nums: integer-array) → integer
numsinteger-array
整数の配列で、その半分を超える数の要素が同じ値であるもの
戻り値integer
n / 2 回を超えて出現する値

制約

  • 1 ≤ nums.length ≤ 104
  • -109 ≤ nums[i] ≤ 109
  • nums.length / 2回を超えて出現する値。

例

入力
nums = [3, 9, 3, 3, 4]
出力
3
説明
5 個の要素の中に 3 が 3 回現れます。3 は 5 / 2 = 2.5 より大きく、9 と 4 はそれぞれ 1 回現れます。
challenge icon

発展問題

すべての値のうち、n / 3 回より多く現れるものを、O(n) 時間、O(1) の追加メモリで見つけられますか?

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

テスト #1

テスト #2

引数

nums = [3, 9, 3, 3, 4]

期待される出力

3