150 principais entrevistasFácil

Produto de array exceto self

Guia detalhado e implementação de Python para o problema 'Produto de Array Exceto Eu'.

Declaração do problema

Fácil

Dado um array inteiro nums, retorne um array answer tal que answer[i] seja igual ao produto de todos os elementos de nums exceto nums[i].

É garantido que o produto de qualquer prefixo ou sufixo de nums caiba em um número inteiro de 32 bits.

Você deve escrever um algoritmo que seja executado em tempo O(n) e sem usar a operação de divisão.

Escreva uma função productExceptSelf(nums: List[int]) -> List[int].

Restrições
  • 2 <= len(nums) <= 10^5
  • -30 <= nums[i] <= 30
  • The product of any prefix or suffix of nums fits in a 32-bit integer

Exemplos

Example 1
Input
nums = [1, 2, 3, 4]
Output
[24, 12, 8, 6]
Explanation

answer[0] = 2*3*4 = 24, answer[1] = 1*3*4 = 12, answer[2] = 1*2*4 = 8, answer[3] = 1*2*3 = 6.

Example 2
Input
nums = [-1, 1, 0, -3, 3]
Output
[0, 0, 9, 0, 0]
Explanation

Any product that includes the 0 at index 2 becomes 0. answer[2] = (-1)*1*(-3)*3 = 9.

Need a Hint?
Considere o uso de estruturas de dados específicas de arrays e hashing, como conjuntos ou heaps.
Edge Cases to Watch
  • Estruturas de entrada vazias
  • Entradas de elemento único
  • Grandes limites numéricos

Pronto para resolver?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Abrir no Editor
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.