Menu
CoddyTech

Product of Array Except Self

Você recebe um array de números inteiros nums. Retorne um array answer do mesmo tamanho, em que answer[i] é o produto de todos os elementos de nums, exceto o que está no índice i. Faça isso em tempo O(n) e sem usar divisão.

Função

productExceptSelf(nums: integer-array) → integer-array
numsinteger-array
o array de números inteiros, com pelo menos dois elementos
Retornainteger-array
um array cujo valor no índice i é o produto de todos os elementos, exceto nums[i]

Restrições

  • 2 ≤ nums.length ≤ 104
  • -30 ≤ nums[i] ≤ 30
  • O produto de todos os valores diferentes de zero em nums cabe em um inteiro com sinal de 32 bits, então todo produto calculado ao longo do caminho também cabe.

Exemplos

Entrada
nums = [2, 3, 4, 5]
Saída
[60, 40, 30, 24]
Explicação
Deixando o 2 de fora, temos 3 × 4 × 5 = 60, e deixando o 5 de fora, temos 2 × 3 × 4 = 24. Os dois do meio funcionam da mesma forma: 2 × 4 × 5 = 40 e 2 × 3 × 5 = 30.

lock icon+14 testes ocultos ao enviar

challenge icon

Para ir além

Você consegue usar apenas espaço extra O(1), sem contar o array que você retorna?

Redefinir código
def productExceptSelf(nums):
    # Escreva o código aqui
Casos de teste

Caso 1

Caso 2

Caso 3

Entrada

nums = [2, 3, 4, 5]

Esperado

[60, 40, 30, 24]