Explore diversas soluciones LeetCode en Python, C++, JavaScript, SQL y TypeScript. Ideal para preparación de entrevistas, aprendizaje y práctica de código en múltiples lenguajes de programación. Enlace de repositorio de Github
Te dan una matriz de números enteros altura
de longitud norte
. Hay norte
Líneas verticales dibujadas de manera que los dos puntos finales del yo
la línea son (yo, 0)
y (yo, altura[yo])
.
Encuentre dos líneas que junto con el eje x formen un recipiente, de modo que el recipiente contenga la mayor cantidad de agua.
Devolver la cantidad máxima de agua que un recipiente puede almacenar.
Aviso que no se puede inclinar el recipiente.
Ejemplo 1:
Aporte: altura = [1,8,6,2,5,4,8,3,7] Producción: 49 Explicación: Las líneas verticales anteriores están representadas por la matriz [1,8,6,2,5,4,8,3,7]. En este caso, el área máxima de agua (sección azul) que puede contener el contenedor es 49.
Ejemplo 2:
Aporte: altura = [1,1] Producción: 1
Restricciones:
n == altura.longitud
2 <= norte <= 10 5
0 <= altura[i] <= 10 4
Pitón
al escribir import List class Solución: def maxArea(self, height: List[int]) -> int: maxSum = 0 left, right = 0, len(height) - 1 while left < right: maxSum = max(maxSum, ( derecha - izquierda) * min(altura[izquierda], altura[derecha])) si altura[izquierda] < altura[derecha]: izquierda += 1 else: derecha -= 1 return maxSum Altura = [1, 8, 6, 2, 5, 4, 8, 3, 7] imprimir(Solución().maxArea(Altura))