Python, C++, JavaScript, SQL 및 TypeScript의 다양한 LeetCode 솔루션을 살펴보세요. 여러 프로그래밍 언어로 인터뷰 준비, 학습 및 코드 연습에 적합합니다. Github 레포 링크
정수 배열이 제공됩니다. 키
길이의 N
. N
두 끝점이 수직선으로 그려지도록 나는 일
라인은 (나, 0)
그리고 (i, 키[i])
.
x축과 함께 용기를 형성하는 두 개의 선을 찾아 용기에 가장 많은 물이 포함되도록 하세요.
반품 용기에 담을 수 있는 최대 물의 양.
알아채다 용기가 기울어지지 않도록 주의하세요.
예시 1:
입력: 높이 = [1,8,6,2,5,4,8,3,7] 산출: 49 설명: 위의 수직선은 배열 [1,8,6,2,5,4,8,3,7]로 표시됩니다. 이 경우 컨테이너가 담을 수 있는 물의 최대 면적(파란색 부분)은 49입니다.
예 2:
입력: 높이 = [1,1] 산출: 1
제약:
n == 높이.길이
2 <= n <= 10 5
0 <= 높이[i] <= 10 4
파이썬
import List 클래스 입력에서 솔루션: def maxArea(self, height: List[int]) -> int: maxSum = 0 left, right = 0, len(height) - 1 while left < right: maxSum = max(maxSum, ( 오른쪽 - 왼쪽) * min(높이[왼쪽], 높이[오른쪽])) if 높이[왼쪽] < 높이[오른쪽]: 왼쪽 += 1 else: 오른쪽 -= 1 return maxSum Height = [1, 8, 6, 2, 5, 4, 8, 3, 7] print(Solution().maxArea(Height))