150 principais entrevistasFácil

Recipiente com mais água

Guia detalhado e implementação de Python para o problema 'Container With Most Water'.

Declaração do problema

Fácil

Você recebe uma matriz inteira height de comprimento n. Existem n linhas verticais desenhadas de forma que os dois pontos finais da i-ésima linha sejam (i, 0) e (i, height[i]).

Encontre duas linhas que, juntamente com o eixo x, formem um recipiente, de modo que o recipiente contenha mais água.

Devolva a quantidade máxima de água que um recipiente pode armazenar.

Observe que você não pode inclinar o recipiente.

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

Restrições
  • n == len(height)
  • 2 <= n <= 10^5
  • 0 <= height[i] <= 10^4

Exemplos

Example 1
Input
height = [1, 8, 6, 2, 5, 4, 8, 3, 7]
Output
49
Explanation

The max area is between lines at index 1 (height 8) and index 8 (height 7). Area = min(8, 7) * (8 - 1) = 7 * 7 = 49.

Example 2
Input
height = [1, 1]
Output
1
Explanation

Area = min(1, 1) * (1 - 0) = 1.

Need a Hint?
Considere o uso de estruturas de dados específicas de dois ponteiros, 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.