Python Noções básicasDifícil

Encontre a submatriz máxima de produtos

Guia detalhado e implementação de Python para o problema 'Encontrar submatriz máxima de produto'.

Declaração do problema

Difícil

Escreva uma função max_product_subarray(arr) que receba uma lista de inteiros arr e retorne o produto máximo de qualquer submatriz contígua. Uma submatriz deve conter pelo menos um elemento.

Restrições
  • 1 <= len(arr) <= 10^4
  • -10 <= arr[i] <= 10

Exemplos

Example 1
Input
arr = [2, 3, -2, 4]
Output
6
Explanation

The subarray [2, 3] has the maximum product: 2 * 3 = 6.

Example 2
Input
arr = [-2, 0, -1]
Output
0
Explanation

The subarray [0] gives the maximum product of 0, since all other products are negative or zero.

Example 3
Input
arr = [-2, -3, 4]
Output
24
Explanation

The entire array: (-2) * (-3) * 4 = 24? Wait, that's the subarray [-2,-3,4] = 24. Yes, two negatives multiply to positive.

Need a Hint?
Considere usar estruturas de dados específicas de arrays, 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.