Menu
CoddyTech

Majority Element

FácilHashingpython iconjava iconcpp iconc iconjs icon+10

Você recebe um array de inteiros nums de comprimento n. Um valor aparece nele mais de n / 2 vezes, e esse valor é chamado de elemento majoritário. Retorne-o. Um valor que ocupa mais da metade do array é sempre único, então há exatamente uma resposta.

Função

majorityElement(nums: integer-array) → integer
numsinteger-array
o array de inteiros, com um valor ocupando mais da metade dele
Retornainteger
o valor que aparece mais de n / 2 vezes

Restrições

  • 1 ≤ nums.length ≤ 104
  • -109 ≤ nums[i] ≤ 109
  • Um valor aparece mais de nums.length / 2 vezes.

Exemplos

Entrada
nums = [3, 9, 3, 3, 4]
Saída
3
Explicação
3 aparece três vezes em cinco elementos. Três é mais do que 5 / 2 = 2.5, e 9 e 4 aparecem uma vez cada.
challenge icon

Para ir além

Você consegue encontrar todos os valores que aparecem mais de n / 3 vezes, em O(n) de tempo e com O(1) de memória extra?

Redefinir código
def majorityElement(nums):
    # Escreva o código aqui

Teste #1

Teste #2

Argumento

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

Saída Esperada

3