[LeetCode] 0011. 물이 가장 많이 담긴 용기

Python, C++, JavaScript, SQL 및 TypeScript의 다양한 LeetCode 솔루션을 살펴보세요. 여러 프로그래밍 언어로 인터뷰 준비, 학습 및 코드 연습에 적합합니다. Github 레포 링크

중간

 


정수 배열이 제공됩니다.  길이의 NN 두 끝점이 수직선으로 그려지도록 나는  라인은 (나, 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))
				
			
ko_KR한국어